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

วิธีเพิ่มหลายแถวพร้อมกันใน MySQL (Multi-row INSERT)

รูปแบบคำสั่ง

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: สำเร็จทั้งหมดหรือล้มเหลวทั้งหมด
  • โค้ดสั้น อ่านง่าย