Truy vấn INSERT trong SQL




Lệnh INSERT INTO trong SQL được sử dụng để thêm các hàng dữ liệu mới vào một bảng trong Database.

Cú pháp

Có hai dạng cú pháp cho lệnh INSERT INTO trong SQL như sau:

INSERT INTO TABLE_TEN (cot1, cot2, cot3,...cotN)]  
VALUES (giatri1, giatri2, giatri3,...giatriN);

Ở đây, cot1, cot2,...cotN là tên các cột trong bảng mà bạn muốn chèn dữ liệu.

Bạn có thể không cần xác định tên các cột trong truy vấn SQL nếu bạn đang thêm các giá trị cho tất cả cot của bảng đó. Nhưng bạn nên đảm bảo thứ tự của các giá trị là giống như thứ tự các cột trong bảng. Cú pháp của lệnh INSERT INTO này như sau:

INSERT INTO TABLE_TEN VALUES (giatri1,giatri2,giatri3,...giatriN);

Ví dụ

Các lệnh dưới đây sẽ tạo 4 bản ghi trong bảng SINHVIEN:

INSERT INTO SINHVIEN (ID,TEN,TUOI,KHOAHOC,HOCPHI)
VALUES (1, 'Hoang', 21, 'CNTT', 4.0 );

INSERT INTO SINHVIEN (ID,TEN,TUOI,KHOAHOC,HOCPHI)
VALUES (2, 'Viet', 19, 'DTVT', 3.0 );

INSERT INTO SINHVIEN (ID,TEN,TUOI,KHOAHOC,HOCPHI)
VALUES (3, 'Thanh', 18, 'KTDN', 4.0 );

INSERT INTO SINHVIEN (ID,TEN,TUOI,KHOAHOC,HOCPHI)
VALUES (4, 'Nhan', 19, 'CK', 4.5 );

Bạn có thể tạo thêm một bản ghi trong bảng SINHVIEN bởi sử dụng cú pháp thứ hai như sau:

INSERT INTO SINHVIEN 
VALUES (5, 'Huong', 20, 'TCNH', 5.0 );

Tất cả lệnh trên sẽ tạo các bản ghi sau trong bảng SINHVIEN:

+----+---------+-----+-----------+--------+
| ID |  TEN    | TUOI|  KHOAHOC  | HOCPHI |
+----+---------+-----+-----------+---------+
|  1 | Hoang   |  21 | CNTT      | 4.0       |
|  2 | Viet    |  19 | DTVT      | 3.0     |
|  3 | Thanh   |  18 | KTDN      |  4.0      |
|  4 | Nhan    |  19 | CK        |   4.5   |
|  5 | Huong   |  20 | TCNH      |   5.0     |
+----+---------+-----+-----------+---------+

Chèn dữ liệu vào một bảng bởi sử dụng bảng khác

Bạn có thể chèn dữ liệu vào một bảng thông qua một lệnh SELECT bởi sử dụng bảng khác mà có một tập hợp các trường, là cần thiết để chèn dữ liệu cho bảng đầu tiên. Dưới đây là cú pháp:

INSERT INTO ten_bang_dau_tien [(cot1, cot2, ... cotN)] 
   SELECT cot1, cot2, ...cotN 
   FROM ten_bang_thu_hai
   [WHERE dieu_kien];