รูปแบบคำสั่ง
INSERT INTO yourTableName (col1, col2, ..., colN)
VALUES (val1, val2, ..., valN),
(val1, val2, ..., valN),
...,
(val1, val2, ..., valN);
ตัวอย่างการใช้งาน
สร้างตาราง
mysql> create table InsertMultipleRowsDemo (
-> Id int,
-> Name varchar(200),
-> Age int
-> );
Query OK, 0 rows affected (0.45 sec)
เพิ่ม 5 แถวในคำสั่งเดียว
mysql> insert into InsertMultipleRowsDemo(Id,Name,Age)
-> values(1,'John',23),(2,'Carol',24),(3,'Johnson',21),(4,'Smith',20),(5,'David',26);
Query OK, 5 rows affected (0.31 sec)
Records: 5 Duplicates: 0 Warnings: 0
แสดงผลลัพธ์
mysql> select * from InsertMultipleRowsDemo;
+------+---------+------+
| Id | Name | Age |
+------+---------+------+
| 1 | John | 23 |
| 2 | Carol | 24 |
| 3 | Johnson | 21 |
| 4 | Smith | 20 |
| 5 | David | 26 |
+------+---------+------+
5 rows in set (0.00 sec)
ข้อดี
- เร็วกว่า INSERT แยกหลายคำสั่ง (Round-trip น้อยลง)
- Atomic: สำเร็จทั้งหมดหรือล้มเหลวทั้งหมด
- โค้ดสั้น อ่านง่าย