Skip to main content

ชนิดข้อมูล (Data Types)

บทนำ

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

1. ชนิดข้อมูลตัวเลข (Numeric Data Types)

1.1 INT หรือ INTEGER

ใช้เก็บข้อมูลจำนวนเต็ม

  • ขนาด: 4 ไบต์
  • ช่วงค่า: -2,147,483,648 ถึง 2,147,483,647

ตัวอย่าง:

CREATE TABLE example (
age INT
);

1.2 SMALLINT

ใช้เก็บข้อมูลจำนวนเต็มขนาดเล็ก

  • ขนาด: 2 ไบต์
  • ช่วงค่า: -32,768 ถึง 32,767

ตัวอย่าง:

CREATE TABLE example (
size SMALLINT
);

1.3 BIGINT

ใช้เก็บข้อมูลจำนวนเต็มที่มีค่ามาก

  • ขนาด: 8 ไบต์
  • ช่วงค่า: -9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807

ตัวอย่าง:

CREATE TABLE example (
population BIGINT
);

1.4 DECIMAL หรือ NUMERIC

ใช้เก็บข้อมูลตัวเลขที่ต้องการความแม่นยำสูง เช่น การเก็บราคาหรือค่าทางการเงิน

  • ขนาด: สามารถกำหนดได้
  • ช่วงค่า: ขึ้นอยู่กับขนาดที่กำหนด

ตัวอย่าง:

CREATE TABLE example (
price DECIMAL(10, 2)
);

ในตัวอย่างนี้ DECIMAL(10, 2) หมายถึงตัวเลขทั้งหมด 10 หลัก และมีทศนิยม 2 หลัก

1.5 FLOAT และ REAL

ใช้เก็บข้อมูลตัวเลขทศนิยมที่ไม่ต้องการความแม่นยำสูง

  • FLOAT: ใช้เก็บตัวเลขทศนิยมที่มีความแม่นยำสูงกว่า REAL
  • REAL: ใช้เก็บตัวเลขทศนิยมที่มีความแม่นยำต่ำกว่า FLOAT

ตัวอย่าง:

CREATE TABLE example (
rating FLOAT
);

2. ชนิดข้อมูลข้อความ (Character Data Types)

2.1 CHAR(n) หรือ CHARACTER(n)

ใช้เก็บข้อความที่มีความยาวคงที่ n ตัวอักษร โดยหากข้อความสั้นกว่าความยาวที่กำหนด ระบบจะเติมช่องว่างจนเต็ม

ตัวอย่าง:

CREATE TABLE example (
code CHAR(5)
);

2.2 VARCHAR(n) หรือ CHARACTER VARYING(n)

ใช้เก็บข้อความที่มีความยาวไม่คงที่ n คือความยาวสูงสุดที่สามารถเก็บได้ ข้อความที่เก็บจะไม่เติมช่องว่าง

ตัวอย่าง:

CREATE TABLE example (
description VARCHAR(100)
);

2.3 TEXT

ใช้เก็บข้อความที่มีความยาวไม่จำกัด ใช้เมื่อไม่ทราบความยาวสูงสุดของข้อมูล

ตัวอย่าง:

CREATE TABLE example (
details TEXT
);

3. ชนิดข้อมูลวันที่และเวลา (Date and Time Data Types)

3.1 DATE

ใช้เก็บข้อมูลวันที่ (ปี, เดือน, วัน)

  • รูปแบบ: YYYY-MM-DD

ตัวอย่าง:

CREATE TABLE example (
birthdate DATE
);

3.2 TIME

ใช้เก็บข้อมูลเวลา (ชั่วโมง, นาที, วินาที)

  • รูปแบบ: HH:MM:SS

ตัวอย่าง:

CREATE TABLE example (
meeting_time TIME
);

3.3 TIMESTAMP

ใช้เก็บข้อมูลวันที่และเวลารวมกัน

  • รูปแบบ: YYYY-MM-DD HH:MM:SS

ตัวอย่าง:

CREATE TABLE example (
created_at TIMESTAMP
);

3.4 INTERVAL

ใช้เก็บช่วงเวลาหรือระยะเวลา เช่น วัน, เดือน, ปี, ชั่วโมง, นาที

ตัวอย่าง:

CREATE TABLE example (
duration INTERVAL
);

4. ชนิดข้อมูลบูลีน (Boolean Data Types)

4.1 BOOLEAN

ใช้เก็บข้อมูลที่มีค่าเป็น TRUE, FALSE, หรือ NULL

ตัวอย่าง:

CREATE TABLE example (
is_active BOOLEAN
);

5. ชนิดข้อมูลไบต์ (Binary Data Types)

5.1 BYTEA

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

ตัวอย่าง:

CREATE TABLE example (
image BYTEA
);

6. ชนิดข้อมูลอื่น ๆ (Other Data Types)

6.1 ENUM

ใช้เก็บข้อมูลที่มีค่าสถานะหรือประเภทที่จำกัด เช่น วันในสัปดาห์ หรือสถานะของคำสั่ง

ตัวอย่าง:

CREATE TABLE example (
status ENUM('pending', 'approved', 'rejected')
);

6.2 ARRAY

ใช้เก็บข้อมูลที่เป็นอาเรย์ของข้อมูลชนิดเดียวกัน

ตัวอย่าง:

CREATE TABLE example (
numbers INT[]
);

สรุป

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


คุณสามารถบันทึกไฟล์นี้ในรูปแบบ `.md` ได้เลยครับ