Giới thiệu
MySQL hỗ trợ cú pháp INSERT ... SET cho phép chỉ định cột và giá trị theo cặp key-value, dễ đọc hơn khi chèn nhiều cột.
1. Tạo bảng
mysql> create table DemoTable1544 (
-> Id int,
-> Name varchar(20)
-> );
Query OK, 0 rows affected (2.47 sec)
2. Chèn dữ liệu với SET
mysql> insert into DemoTable1544 set Id=101,Name='John Doe'; Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable1544 set Id=102,Name='Adam Smith'; Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable1544 set Id=103,Name='Chris Brown'; Query OK, 1 row affected (0.12 sec)
3. Kết quả
mysql> select * from DemoTable1544;
+------+-------------+ | Id | Name | +------+-------------+ | 101 | John Doe | | 102 | Adam Smith | | 103 | Chris Brown | +------+-------------+ 3 rows in set (0.00 sec)
So sánh hai cú pháp:
| Cú pháp VALUES | Cú pháp SET |
|---|---|
INSERT INTO t (a,b) VALUES (1,2) | INSERT INTO t SET a=1, b=2 |
| Thứ tự cột cố định | Thứ tự cột linh hoạt |
| Khó đọc khi nhiều cột | Dễ đọc, tự ghi nhớ cột |
| Hỗ trợ chèn nhiều hàng cùng lúc | Chỉ chèn 1 hàng mỗi câu lệnh |
Lưu ý: Cú pháp SET là mở rộng của MySQL, không phải chuẩn SQL ANSI.