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

MySQL: INSERT หลายค่าใน Temporary Table ด้วยคำสั่งเดียว


คำอธิบาย

ใช้ 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);