SQL ประเภทข้อมูล (Data Types)

SQL Data Types คือประเภทของข้อมูลที่ใช้ในฐานข้อมูลเพื่อกำหนดชนิดของค่าที่สามารถบันทึกลงในคอลัมน์ของตาราง (Table) ได้ ชนิดของข้อมูลใน SQL มีหลายประเภท โดยสามารถแบ่งออกเป็นหมวดหมู่หลัก ๆ ได้ดังนี้

1. Numeric Data Types (ประเภทตัวเลข)

ใช้สำหรับการเก็บค่าตัวเลข ซึ่งสามารถแบ่งได้เป็นสองหมวดหลัก คือ ตัวเลขจำนวนเต็ม และตัวเลขทศนิยม ประกอบด้วย

  • INTEGER: เก็บค่าตัวเลขจำนวนเต็ม ไม่มีจุดทศนิยม
    • ตัวอย่าง: 123, -456
  • FLOAT: เก็บค่าตัวเลขที่มีทศนิยม ความแม่นยำอาจไม่คงที่
    • ตัวอย่าง: 123.45, -0.987
  • DECIMAL(p, s): ใช้สำหรับเก็บค่าตัวเลขที่มีความแม่นยำของทศนิยมแน่นอน โดยที่ p คือจำนวนหลักทั้งหมด และ s คือจำนวนหลักทศนิยม
    • ตัวอย่าง: DECIMAL(5, 2) ค่าที่เก็บ เช่น 123.45, -987.65

2. String Data Types (ประเภทข้อความ)

ใช้สำหรับการเก็บค่าข้อความ (String) เช่น ชื่อหรืออีเมล

  • CHAR(n): เก็บข้อความที่มีความยาวคงที่เท่ากับ n ตัวอักษร ถ้าความยาวจริงสั้นกว่านี้ จะถูกเติมด้วยช่องว่าง (spaces)
    • ตัวอย่าง: CHAR(5) เก็บค่า "John " (ถ้าใส่ "John" จะถูกเติมช่องว่างต่อท้าย)
  • VARCHAR(n): เก็บข้อความที่มีความยาวเปลี่ยนแปลงได้ สูงสุดไม่เกิน n ตัวอักษร
    • ตัวอย่าง: VARCHAR(50) เก็บค่า "Hello World!" ได้พอดี
  • TEXT: เก็บข้อความที่มีขนาดใหญ่มาก ไม่กำหนดความยาวตายตัว
    • ตัวอย่าง: ข้อความอธิบายสินค้าหรือบทความยาว ๆ

3. Date and Time Data Types (ประเภทวันและเวลา)

ใช้สำหรับการเก็บข้อมูลเกี่ยวกับวันเวลา

  • DATE: เก็บวันที่ในรูปแบบ YYYY-MM-DD
    • ตัวอย่าง: 2024-10-13
  • TIME: เก็บเวลาในรูปแบบ HH:MM:SS
    • ตัวอย่าง: 14:30:00
  • DATETIME: เก็บทั้งวันที่และเวลาในรูปแบบ YYYY-MM-DD HH:MM:SS
    • ตัวอย่าง: 2024-10-13 14:30:00
  • TIMESTAMP: เก็บค่าของวันที่และเวลาตามค่าเวลา UNIX (จำนวนวินาทีตั้งแต่ 1 มกราคม 1970)
    • ตัวอย่าง: 2024-10-13 14:30:00 อาจถูกแปลงเป็นค่าจำนวนวินาทีเช่น 1720789800

4. Boolean Data Type (ประเภทตรรกะ)

ใช้สำหรับการเก็บค่าทางตรรกะ ซึ่งมีแค่สองค่า คือ TRUE หรือ FALSE

  • BOOLEAN: เก็บค่า TRUE หรือ FALSE
    • ตัวอย่าง: ค่าจริง (TRUE), ค่าเท็จ (FALSE)

5. Binary Data Types (ประเภทข้อมูลไบนารี)

ใช้สำหรับการเก็บข้อมูลที่เป็นบิตหรือไบต์ เช่น ไฟล์รูปภาพหรือเสียง

  • BINARY(n): เก็บข้อมูลไบนารีที่มีขนาดคงที่เป็นจำนวน n ไบต์
  • VARBINARY(n): เก็บข้อมูลไบนารีที่มีขนาดเปลี่ยนแปลงได้ สูงสุดไม่เกิน n ไบต์
  • BLOB: เก็บข้อมูลขนาดใหญ่ในรูปแบบไบนารี เช่น ภาพหรือวิดีโอ

ตัวอย่างการใช้งาน

สมมติเรามีตารางฐานข้อมูลสำหรับจัดเก็บข้อมูลพนักงานในบริษัทดังนี้

SQL
CREATE TABLE Employees (
    employee_id INT,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    birth_date DATE,
    hire_date DATETIME,
    salary DECIMAL(10, 2),
    is_active BOOLEAN
);

ตารางนี้ประกอบด้วย:

  • employee_id: รหัสพนักงาน เป็นตัวเลขจำนวนเต็ม (INT)
  • first_name: ชื่อพนักงาน เป็นข้อความที่มีความยาวไม่เกิน 50 ตัวอักษร (VARCHAR(50))
  • last_name: นามสกุลพนักงาน เป็นข้อความที่มีความยาวไม่เกิน 50 ตัวอักษร (VARCHAR(50))
  • birth_date: วันเกิดของพนักงาน เป็นข้อมูลวัน (DATE)
  • hire_date: วันที่เริ่มงานของพนักงาน เป็นทั้งวันที่และเวลา (DATETIME)
  • salary: เงินเดือนของพนักงาน เป็นตัวเลขทศนิยมที่มีจำนวนหลักทั้งหมด 10 หลัก และทศนิยม 2 หลัก (DECIMAL(10, 2))
  • is_active: สถานะว่าพนักงานยังทำงานอยู่หรือไม่ เป็นข้อมูลตรรกะ (BOOLEAN)
แชร์เรื่องนี้