Data Types ใน MySQL
หลังจากที่เราได้เรียนรู้วิธีการสร้างตารางด้วยคำสั่ง CREATE TABLE ในบทที่แล้ว สิ่งสำคัญต่อมาคือการทำความเข้าใจเกี่ยวกับ Data Types หรือชนิดข้อมูลใน MySQL ซึ่งเป็นตัวกำหนดว่าแต่ละคอลัมน์ในตารางของเราจะสามารถจัดเก็บข้อมูลประเภทใดได้บ้าง การเลือก Data Type ที่เหมาะสมจะช่วยให้เราจัดเก็บข้อมูลได้อย่างมีประสิทธิภาพและถูกต้องแม่นยำ
ในบทนี้ เราจะมาทำความรู้จักกับ Data Types พื้นฐานที่พบบ่อยในการใช้งาน MySQL พร้อมตัวอย่างการใช้งานง่ายๆ เพื่อให้คุณสามารถนำไปประยุกต์ใช้ได้จริง
ชนิดข้อมูลพื้นฐานใน MySQL
MySQL มี Data Types ให้เลือกใช้งานมากมาย แต่ในบทนี้เราจะเน้นเฉพาะ Data Types ที่สำคัญและใช้งานบ่อยสำหรับผู้เริ่มต้น ได้แก่:
INT: สำหรับเก็บข้อมูลที่เป็นตัวเลขจำนวนเต็มVARCHAR: สำหรับเก็บข้อมูลที่เป็นข้อความที่มีความยาวไม่แน่นอนTEXT: สำหรับเก็บข้อมูลที่เป็นข้อความขนาดยาวDATE: สำหรับเก็บข้อมูลที่เป็นวันที่DATETIME: สำหรับเก็บข้อมูลที่เป็นวันที่และเวลา
1. INT (Integer)
INT เป็น Data Type ที่ใช้สำหรับเก็บข้อมูลที่เป็นตัวเลขจำนวนเต็ม (Integer) เช่น -1, 0, 1, 100, 1000 เป็นต้น เราสามารถกำหนดขนาดของ INT ได้หลายแบบ ซึ่งจะส่งผลต่อช่วงของตัวเลขที่สามารถเก็บได้:
TINYINT: เก็บตัวเลขจำนวนเต็มขนาดเล็กSMALLINT: เก็บตัวเลขจำนวนเต็มขนาดกลางMEDIUMINT: เก็บตัวเลขจำนวนเต็มขนาดกลางค่อนข้างใหญ่INT(หรือINTEGER): เก็บตัวเลขจำนวนเต็มขนาดใหญ่BIGINT: เก็บตัวเลขจำนวนเต็มขนาดใหญ่มาก
โดยทั่วไปแล้ว หากไม่ได้ระบุขนาดของ INT จะหมายถึง INT ขนาดปกติ
ตัวอย่าง:
CREATE TABLE products (
id INT,
price INT,
quantity INT
);
ในตัวอย่างนี้ เราสร้างตาราง products ที่มีคอลัมน์ id, price, และ quantity ซึ่งทั้งหมดเป็น INT สำหรับเก็บข้อมูลรหัสสินค้า, ราคา, และจำนวนสินค้าตามลำดับ
2. VARCHAR (Variable-Length Character String)
VARCHAR เป็น Data Type ที่ใช้สำหรับเก็บข้อมูลที่เป็นข้อความ (String) ที่มีความยาวไม่แน่นอน เราจะต้องระบุความยาวสูงสุดของข้อความที่จะเก็บไว้ในวงเล็บ เช่น VARCHAR(255) หมายถึง คอลัมน์นี้สามารถเก็บข้อความได้ยาวสูงสุด 255 ตัวอักษร
VARCHAR เหมาะสำหรับเก็บข้อมูลที่ไม่ทราบความยาวที่แน่นอนล่วงหน้า เช่น ชื่อ, ที่อยู่, อีเมล เป็นต้น
ตัวอย่าง:
CREATE TABLE customers (
id INT,
name VARCHAR(255),
email VARCHAR(255)
);
ในตัวอย่างนี้ เราสร้างตาราง customers ที่มีคอลัมน์ name และ email ซึ่งเป็น VARCHAR(255) สำหรับเก็บชื่อและอีเมลของลูกค้า โดยจำกัดความยาวสูงสุดไว้ที่ 255 ตัวอักษร
3. TEXT
TEXT เป็น Data Type ที่ใช้สำหรับเก็บข้อมูลที่เป็นข้อความขนาดยาว แตกต่างจาก VARCHAR ที่ต้องระบุความยาวสูงสุด TEXT สามารถเก็บข้อความได้ยาวกว่ามาก โดยไม่ต้องระบุความยาวสูงสุด
TEXT เหมาะสำหรับเก็บข้อมูลที่มีขนาดยาว เช่น บทความ, คำอธิบายสินค้า, หรือข้อความอื่นๆ ที่มีความยาวไม่แน่นอน
MySQL มี TEXT หลายขนาดให้เลือกใช้:
TINYTEXT: เก็บข้อความขนาดเล็กTEXT: เก็บข้อความขนาดกลางMEDIUMTEXT: เก็บข้อความขนาดกลางค่อนข้างใหญ่LONGTEXT: เก็บข้อความขนาดใหญ่มาก
ตัวอย่าง:
CREATE TABLE articles (
id INT,
title VARCHAR(255),
content TEXT
);
ในตัวอย่างนี้ เราสร้างตาราง articles ที่มีคอลัมน์ content เป็น TEXT สำหรับเก็บเนื้อหาของบทความ ซึ่งอาจมีความยาวมาก
4. DATE
DATE เป็น Data Type ที่ใช้สำหรับเก็บข้อมูลที่เป็นวันที่ รูปแบบของวันที่ที่ MySQL เข้าใจคือ YYYY-MM-DD (ปี-เดือน-วัน)
ตัวอย่าง:
CREATE TABLE orders (
id INT,
order_date DATE
);
ในตัวอย่างนี้ เราสร้างตาราง orders ที่มีคอลัมน์ order_date เป็น DATE สำหรับเก็บวันที่ที่ทำการสั่งซื้อ
5. DATETIME
DATETIME เป็น Data Type ที่ใช้สำหรับเก็บข้อมูลที่เป็นวันที่และเวลา รูปแบบของวันที่และเวลาที่ MySQL เข้าใจคือ YYYY-MM-DD HH:MM:SS (ปี-เดือน-วัน ชั่วโมง:นาที:วินาที)
ตัวอย่าง:
CREATE TABLE events (
id INT,
event_time DATETIME
);
ในตัวอย่างนี้ เราสร้างตาราง events ที่มีคอลัมน์ event_time เป็น DATETIME สำหรับเก็บวันที่และเวลาที่เกิดเหตุการณ์
สรุป
ในบทนี้ เราได้เรียนรู้เกี่ยวกับ Data Types พื้นฐานที่สำคัญในการใช้งาน MySQL ได้แก่ INT, VARCHAR, TEXT, DATE, และ DATETIME การเลือก Data Type ที่เหมาะสมกับข้อมูลที่จะจัดเก็บเป็นสิ่งสำคัญที่จะช่วยให้เราจัดการข้อมูลได้อย่างมีประสิทธิภาพและถูกต้องแม่นยำ
ในบทถัดไป เราจะมาเรียนรู้เกี่ยวกับ Primary Key ซึ่งเป็น Constraint ที่สำคัญในการกำหนดเอกลักษณ์ให้กับแต่ละแถวในตารางของเรา