Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

สร้างตารางถ้ายังไม่มี และ INSERT ข้อมูลใน MySQL ด้วย CREATE TABLE IF NOT EXISTS

คำสั่ง CREATE TABLE IF NOT EXISTS จะสร้างตารางก็ต่อเมื่อยังไม่มีอยู่แล้ว ป้องกัน Error "Table already exists" และช่วยให้สคริปต์รันซ้ำได้ (Idempotent)

รูปแบบคำสั่ง (Syntax)

CREATE TABLE IF NOT EXISTS yourTableName ( 
    yourColumnName1 dataType, 
    ... 
); 
INSERT INTO yourTableName values(yourValue1, ...);

ตัวอย่างสร้างตารางพร้อม Primary Key

mysql> create table if not exists DemoTable ( 
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    StudentSubject varchar(100) ); 
Query OK, 0 rows affected (0.60 sec)

เพิ่มข้อมูลวิชา

mysql> insert into DemoTable(StudentSubject) values('Java'); 
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable(StudentSubject) values('MySQL'); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(StudentSubject) values('C'); 
Query OK, 1 row affected (0.23 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;
+-----------+----------------+
| StudentId | StudentSubject |
+-----------+----------------+
| 1         | Java           |
| 2         | MySQL          |
| 3         | C              |
+-----------+----------------+
3 rows in set (0.00 sec)

คำอธิบาย:

  • IF NOT EXISTS - ไม่ Error หาตารางมีอยู่แล้ว เหมาะสำหรับ Migration Scripts
  • AUTO_INCREMENT PRIMARY KEY - สร้าง ID อัตโนมัติ
  • รันซ้ำหลายครั้งก็ไม่ Error (Idempotent)

ข้อควรระวัง: หากตารางมีอยู่แล้วแต่โครงสร้างต่างกัน (คอลัมน์เพิ่ม/ลด) คำสั่งนี้จะไม่ปรับโครงสร้างให้ ต้องใช้ ALTER TABLE แทน