คำอธิบาย
ใช้ CREATE TEMPORARY TABLE สร้างตารางชั่วคราว (หายเมื่อ Session จบ) แล้ว INSERT หลายแถว ในคำสั่งเดียวด้วย Syntax VALUES (v1), (v2), (v3)...
ขั้นตอนการสร้าง Temporary Table
mysql> create temporary table DemoTable (
SerialNumber int );
Query OK, 0 rows affected (0.00 sec)
คำสั่ง INSERT หลายค่า
mysql> insert into DemoTable values(1),(2),(3),(4),(5),(6),(7),(8); Query OK, 8 rows affected (0.00 sec) Records: 8 Duplicates: 0 Warnings: 0
แสดงข้อมูล
mysql> select * from DemoTable;
ผลลัพธ์:
+--------------+ | SerialNumber | +--------------+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | +--------------+ 8 rows in set (0.00 sec)
คุณสมบัติ Temporary Table
- มองเห็นได้เฉพาะ Session ที่สร้าง (Connection อื่นไม่เห็น)
- ถูกลบอัตโนมัติเมื่อ Session จบ (Disconnect)
- สามารถมีชื่อซ้ำกับ Permanent Table ได้ (จะซ่อน Permanent Table ไว้)
- ไม่รองการ Foreign Key Constraints
ประโยชน์
- เก็บข้อมูลชั่วคราวระหว่างการคำนวณซับซ้อน
- แบ่ง Query ยาวเป็นหลายขั้นตอน
- ไม่ต้องกังวล Cleanup
- เร็วกว่าตารางปกติ (เก็บใน Memory/Temp storage)
INSERT หลายแถวในตารางปกติ
Syntax เดียวกันใช้ได้กับตารางปกติ:
INSERT INTO PermanentTable (col1, col2) VALUES
('a', 1), ('b', 2), ('c', 3);