Lệnh INSERT trong SQL

Trong các bài học SQL trước bạn đã được tìm hiểu về lệnh liên quan đến cơ sở dữ liệu, bảng dữ liệu trong SQL, như lệnh tạo bảng, lệnh xóa bảng. Bắt đầu từ bài này chúng ta sẽ đi vào phần truy vấn trong SQL, mở màn bằng lệnh truy vấn INSERT INTO.

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

Cú pháp của lệnh INSERT INTO:

Lệnh INSERT INTO có 2 cú pháp cơ bản, chúng ta sẽ cùng tìm hiểu cả 2 cú pháp trong bài này.

Lệnh INSERT INTO, cú pháp 1: Chỉ định cả tên cột và giá trị được chèn

INSERT INTO TEN_BANG (cot1, cot2, cot3,...cotN)
VALUES (gia_tri1, gia_tri2, gia_tri3,...gia_triN);

Ở đây, cot1, cot2, cot3,... cotN là tên các cột trong bảng mà bạn muốn chèn thêm dữ liệu. gia_tri1, gia_tri2, gia_tri3,...gia_triN là giá trị cần thêm vào tương ứng với các cột.

Lệnh INSERT INTO, cú pháp 2: Nếu bạn muốn thêm giá trị vào tất cả các cột trong bảng thì có thể sử dụng lệnh INSERT INTO dưới đây:

INSERT INTO TEN_BANG
VALUES (gia_tri1, gia_tri2, gia_tri3,...gia_triN);

Bạn nhấn thấy sự khác biệt không? Ở cú pháp 2, bạn không cần liệt kê tên các cột trong bảng, chỉ cần đảm bảo rằng thứ tự các giá trị bạn muốn thêm vào đúng với thứ tự của các cột trong bảng là được.

Ví dụ về lệnh INSERT INTO:

Lệnh dưới đây sẽ tạo 6 bản ghi cho bảng NHANVIEN

INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) 
VALUES (1, 'Thanh', 24, 'Haiphong', 2000.00 ); 

INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) 
VALUES (2, 'Loan', 26, 'Hanoi', 1500.00 ); 

INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) 
VALUES (3, 'Nga', 24, 'Hanam', 2000.00 ); 

INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) 
VALUES (4, 'Manh', 29, 'Hue', 6500.00 ); 

INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) 
VALUES (5, 'Huy', 28, 'Hatinh', 8500.00 ); 

INSERT INTO NHANVIEN (ID,TEN,TUOI,DIACHI,LUONG) 
VALUES (6, 'Cao', 23, 'HCM', 4500.00 );

Có thể sử dụng cú pháp 2 để thêm bản ghi thứ 7 cho bảng NHANVIEN như sau:

INSERT INTO NHANVIEN
VALUES (7, 'LAM', 29, 'Hanoi', 15000.00 );

Sau khi thực hiện tất cả các lệnh trên, ta sẽ có bảng NHANVIEN như sau:

+----+----------+-----+-----------+---------+ 
| ID |   TEN    | TUOI|  DIACHI   |  LUONG  |
+----+----------+-----+-----------+---------+
| 1  |  Thanh   | 24  | Haiphong  | 2000.00 |
| 2  |  Loan    | 26  | Hanoi     | 1500.00 |
| 3  |  Nga     | 24  | Hanam     | 2000.00 |
| 4  |  Mạnh    | 29  | Hue       | 6500.00 |
| 5  |  Huy     | 28  | Hatinh    | 8500.00 |
| 6  |  Cao     | 23  | HCM       | 4500.00 |
| 7  |  Lam     | 29  | Hanoi     | 15000.00|
+----+----------+-----+-----------+---------+

Thêm dữ liệu từ một bảng dữ liệu khác

Trong SQL, bạn có thể thêm dữ liệu từ bảng B vào bảng A bằng cách sử dụng lệnh SELECT trên bảng B, cụ thể như sau:

INSERT INTO TEN_BANG_A [(cot1, cot2, ... cot)]
SELECT cot1, cot2, ...cotN
FROM TEN_BANG_B
[WHERE DIEU_KIEN];

Trong lệnh trên bạn sẽ thêm các cột từ bảng B để thêm vào bảng A, những phần để trong dấu [] là có thể có hoặc không. Lệnh SELECT thay vì liệt kê các cột, nếu lấy khớp nhau toàn bộ các cột thì bạn có thể dùng * để thay thế cho danh sách cột.

Ví dụ: Bạn có 2 bảng dữ liệu cùng cấu trúc là: NHANVIEN (đã có dữ liệu như ví dụ trên) và NHANVIEN2 (chưa có dữ liệu). Bạn cần điền dữ liệu cho bảng NHANVIEN2 tương tự như bảng NHANVIEN nhưng chỉ chọn người có tuổi lớn hơn 25.

Cú pháp sẽ như sau:

INSERT INTO NHANVIEN2
   SELECT *
   FROM NHANVIEN
   WHERE TUOI > 25;

Và kết quả sau khi chèn dữ liệu ta sẽ có bảng NHANVIEN2 như sau:

+----+----------+-----+-----------+---------+ 
| ID |   TEN    | TUOI|  DIACHI   |  LUONG  |
+----+----------+-----+-----------+---------+
| 2  |  Loan    | 26  | Hanoi     | 1500.00 |
| 4  |  Mạnh    | 29  | Hue       | 6500.00 |
| 5  |  Huy     | 28  | Hatinh    | 8500.00 |
| 7  |  Lam     | 29  | Hanoi     | 15000.00|
+----+----------+-----+-----------+---------+

Tạo bảng dữ liệu từ bảng dữ liệu sẵn có

Ngoài 2 cách chèn dữ liệu trên, bạn có thể tạo một bảng dữ liệu với cấu trúc tương tự như bảng gốc + có chèn sẵn luôn dữ liệu theo một điều kiện nhất định.

Ví dụ: Tạo và thêm 1 bảng dữ liệu NHANVIEN3 có cấu trúc như bảng NHANVIEN và liệt kê vào đó những nhân viên có số tuổi nhỏ hơn 25. Câu lệnh sẽ như sau:

CREATE TABLE NHANVIEN3 AS
SELECT *
FROM NHANVIEN
WHERE TUOI < 25

Và kết quả bạn sẽ tạo ra được bảng NHANVIEN2 với nội dung:

+----+----------+-----+-----------+---------+ 
| ID |   TEN    | TUOI|  DIACHI   |  LUONG  |
+----+----------+-----+-----------+---------+
| 1  |  Thanh   | 24  | Haiphong  | 2000.00 |
| 3  |  Nga     | 24  | Hanam     | 2000.00 |
| 6  |  Cao     | 23  | HCM       | 4500.00 |
+----+----------+-----+-----------+---------+

Vậy là sau bài viết này, chúng ta đã có thể tạo ra khá nhiều bảng dữ liệu có sẵn các bản ghi rồi. Bạn hãy thử thực hành thêm và theo dõi tiếp loạt bài sau nhé!

Thứ Tư, 26/10/2022 17:48
3,76 👨 129.030
0 Bình luận
Sắp xếp theo