คำสั่ง CREATE TABLE ใช้เพื่อ สร้างตารางใหม่ ในฐานข้อมูล (Database) โดยกำหนดชื่อคอลัมน์, ชนิดข้อมูล (Data Type), และข้อกำหนดต่าง ๆ เช่น PRIMARY KEY, NOT NULL, AUTO_INCREMENT เป็นต้น
รูปแบบคำสั่ง
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...
);
table_name= ชื่อตารางcolumn1,column2= ชื่อคอลัมน์datatype= ประเภทข้อมูล เช่นINT,VARCHAR(100),DATEconstraints= ข้อกำหนดพิเศษ เช่นPRIMARY KEY,NOT NULL
ตัวอย่างการใช้งาน
สร้างตาราง customer
SQL
CREATE TABLE customer (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);customer_id INT AUTO_INCREMENT PRIMARY KEYสร้างคอลัมน์รหัสลูกค้า เป็นตัวเลขที่เพิ่มอัตโนมัติ และใช้เป็นรหัสหลักของตารางfirst_name VARCHAR(50) NOT NULLชื่อลูกค้า (ไม่เกิน 50 ตัวอักษร) และต้องไม่เป็นค่าว่างlast_name VARCHAR(50) NOT NULLนามสกุลลูกค้า (ไม่เกิน 50 ตัวอักษร) และต้องไม่เป็นค่าว่างemail VARCHAR(100)อีเมลลูกค้า ไม่เกิน 100 ตัวอักษร (ใส่หรือไม่ใส่ก็ได้)created_at DATETIME DEFAULT CURRENT_TIMESTAMPวันที่และเวลาที่สร้างข้อมูล กำหนดค่าอัตโนมัติเป็นเวลาปัจจุบัน
ข้อกำหนด (Constraints) ที่ใช้บ่อย
PRIMARY KEY– ใช้กำหนดคอลัมน์ที่เป็นคีย์หลัก ต้องไม่ซ้ำกันและไม่เป็นค่าว่างNOT NULL– บังคับให้คอลัมน์นั้นต้องมีค่าเสมอDEFAULT– กำหนดค่าเริ่มต้นให้กับคอลัมน์AUTO_INCREMENT– ทำให้ค่าตัวเลขเพิ่มอัตโนมัติ (ใช้กับINT)UNIQUE– ห้ามมีค่าซ้ำในคอลัมน์นั้นFOREIGN KEY– เชื่อมโยงกับตารางอื่นเพื่อสร้างความสัมพันธ์
ตัวอย่างการเชื่อม Foreign Key
SQL
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customer(customer_id)
);- สร้างตาราง
ordersที่เชื่อมกับcustomer_idของตารางcustomer
ข้อควรระวัง
- หลีกเลี่ยงการตั้งชื่อตารางหรือคอลัมน์ที่เป็น คำสงวนของ SQL เช่น
order,select,group - อย่าลืมใส่
PRIMARY KEYเพื่อให้ระบบสามารถระบุข้อมูลแต่ละแถวได้