16 ส.ค. เวลา 06:33 • การศึกษา
SQL By Shoper Gamer

Data Types ใน SQL คืออะไร

โดย
การเข้าใจ Data Types ใน SQL เป็นพื้นฐานสำคัญสำหรับการออกแบบฐานข้อมูลที่มีประสิทธิภาพ บทความนี้จะพาคุณรู้จักกับประเภทข้อมูลต่างๆ ใน SQL อย่างละเอียด พร้อมตัวอย่างการใช้งานจริง เพื่อให้คุณสามารถเลือกใช้ Data Types ได้อย่างเหมาะสมกับโครงสร้างข้อมูลของคุณ
  • ​Data Types ใน SQL คืออะไร
Data Types ใน SQL คือ การกำหนดประเภทของข้อมูล ที่จะเก็บในคอลัมน์ของตารางฐานข้อมูล ซึ่งช่วยให้ระบบเข้าใจว่า
- ข้อมูลนั้นเป็นประเภทอะไร
- ควรใช้พื้นที่เก็บข้อมูลเท่าไร
- สามารถดำเนินการใดๆ กับข้อมูลนั้นได้บ้าง
  • ​Data Types ใน SQL ทำงานอย่างไร
เมื่อคุณกำหนด Data Types ให้กับคอลัมน์
1) ระบบฐานข้อมูลจะจองพื้นที่ในหน่วยความจำ ตามประเภทข้อมูล
2) ระบบจะตรวจสอบความถูกต้องของข้อมูลที่ป้อนเข้า
3) ระบบจะกำหนดการดำเนินการที่สามารถทำได้กับข้อมูลนั้น
  • ​ประเภทของ Data Types ใน SQL
1) ข้อมูลตัวเลข (Numeric)
- INT : จำนวนเต็ม (-2,147,483,648 ถึง 2,147,483,647)
- SMALLINT : จำนวนเต็มขนาดเล็ก (-32,768 ถึง 32,767)
- BIGINT : จำนวนเต็มขนาดใหญ่
- DECIMAL(p,s) , NUMERIC : จำนวนทศนิยมแบบกำหนดความแม่นยำ
- FLOAT : จำนวนทศนิยมความแม่นยำเดี่ยว
- REAL : จำนวนทศนิยมความแม่นยำคู่
- DOUBLE: จำนวนทศนิยมความแม่นยำสูง
2) ข้อมูลตัวอักษร (Character/String)
- CHAR(n) : ข้อความความยาวคงที่
- VARCHAR(n) : ข้อความความยาวผันแปร
- TEXT : ข้อความความยาวไม่จำกัด
- NCHAR/NVARCHAR: สำหรับ Unicode (รองรับหลายภาษา)
3) ข้อมูลวันที่และเวลา (Date/Time)
- DATE : เก็บค่าวันที่ (YYYY-MM-DD)
- TIME : เก็บค่าเวลา (HH:MM:SS)
- DATETIME : เก็บทั้งวันที่ และ เวลา
- TIMESTAMP : ระบุเวลาละเอียดถึงมิลลิวินาที
4) ข้อมูลไบนารี (Binary)
- BINARY(n) : ข้อมูลไบนารีความยาวคงที่
- VARBINARY(n) : ข้อมูลไบนารีความยาวผันแปร
- BLOB : ข้อมูลไบนารีขนาดใหญ่
5) ข้อมูลอื่นๆ
- BOOLEAN : ค่าทางตรรกะ (TRUE/FALSE)
- JSON : เก็บข้อมูลรูปแบบ JSON
- XML : เก็บข้อมูลรูปแบบ XML
  • ​ประโยชน์ของการเลือก Data Types ที่เหมาะสม
✅ ประหยัดพื้นที่จัดเก็บ
✅ เพิ่มประสิทธิภาพการทำงาน
✅ รักษาความถูกต้องของข้อมูล
✅ ป้องกันข้อผิดพลาดจากการป้อนข้อมูล
✅ เพิ่มความเร็วในการค้นหา และ จัดเรียง
  • ​ตัวอย่างการใช้งาน
☆ ตัวอย่างการสร้างตาราง
```sql
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
BirthDate DATE,
Salary DECIMAL(10,2),
IsActive BOOLEAN DEFAULT TRUE,
JoinDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
☆ ตัวอย่างการใช้งานในเงื่อนไข
```sql
-- ค้นหาพนักงานที่เงินเดือนมากกว่า 50,000
SELECT * FROM Employees WHERE Salary > 50000.00;
-- ค้นหาพนักงานที่เกิดหลังปี 1990
SELECT * FROM Employees WHERE BirthDate > '1990-01-01';
```
  • ​ข้อผิดพลาดที่พบบ่อยสำหรับ Data Types
❌ ใช้ VARCHAR(255) สำหรับทุกคอลัมน์ - เสียพื้นที่จัดเก็บ
❌ ใช้ Data Types ใหญ่เกินความจำเป็น - ส่งผลต่อประสิทธิภาพ
❌ ไม่ตรวจสอบความถูกต้องของข้อมูล - อาจเกิดข้อมูลผิดพลาด
❌ ไม่ใช้ Constraints ร่วมด้วย - เช่น NOT NULL, DEFAULT
  • ​เคล็ดลับในการเลือก Data Types
1) เลือกขนาดที่เล็กที่สุดที่รองรับข้อมูลของคุณได้
2) ใช้ Constraints เพื่อควบคุมข้อมูล
3) พิจารณาการใช้งานในอนาคต
4) ทดสอบประสิทธิภาพ กับข้อมูลจริง
✏️ Shoper Gamer
  • ​SQL คืออะไร 👇
  • ​DBMS คืออะไร 👇
Credit :
👇
  • ​https://www.w3schools.com/mysql/mysql_datatypes.asp
  • ​https://learn.microsoft.com/th-th/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-ver15
  • ​https://docs.snowflake.com/en/sql-reference-data-types
  • ​https://www.digitalocean.com/community/tutorials/sql-data-types

ดูเพิ่มเติมในซีรีส์

โฆษณา