บทความนี้แนะนำรูปแบบคำสั่ง INSERT ... SET ใน MySQL ที่อนุญาตให้ระบุนามคอลัมน์และค่าเป็นคู่ key-value ทำให้อ่านง่ายและไม่ต้องจดลำดับคอลัมน์
สร้างตารางและเพิ่มข้อมูลด้วย SET Syntax
mysql> CREATE TABLE DemoTable674(
StudentId INT,
StudentFirstName VARCHAR(100),
StudentLastName VARCHAR(100)
);
Query OK, 0 rows affected (0.82 sec)
mysql> INSERT INTO DemoTable674 SET StudentId=10, StudentFirstName='John', StudentLastName='Smith';
mysql> INSERT INTO DemoTable674 SET StudentId=11, StudentFirstName='Carol', StudentLastName='Taylor';
mysql> INSERT INTO DemoTable674 SET StudentId=12, StudentFirstName='David', StudentLastName='Miller';
mysql> INSERT INTO DemoTable674 SET StudentId=13, StudentFirstName='Chris', StudentLastName='Brown';
ผลลัพธ์
+-----------+------------------+-----------------+
| StudentId | StudentFirstName | StudentLastName |
+-----------+------------------+-----------------+
| 10 | John | Smith |
| 11 | Carol | Taylor |
| 12 | David | Miller |
| 13 | Chris | Brown |
+-----------+------------------+-----------------+
ข้อดีของ INSERT ... SET:
- อ่านง่าย ชัดเจนว่าแต่ละคอลัมน์ได้ค่าอะไร
- ไม่ต้องกังวลลำดับคอลัมน์
- ง่ายต่อการแก้ไข/เพิ่ม/ลบคอลัมน์ในคำสั่ง
- รองรับใน MySQL เท่านั้น (Non-standard SQL)
รูปแบบมาตรฐาน SQL (Portable):
INSERT INTO DemoTable674 (StudentId, StudentFirstName, StudentLastName)
VALUES (10, 'John', 'Smith');