Lệnh INSERT trong SQL Server
Insert into SQL là gì? Nếu muốn biết về lệnh Insert trong SQL, mời bạn đọc bài viết dưới đây.
Thế giới lập trình rất đa dạng và phong phú với nhiều ngôn ngữ khác nhau. Hãy dựa vào mục đích sử dụng của bạn để có lựa chọn ngôn ngữ phù hợp.
SQL Server giống như các ngôn ngữ lập trình, nó cũng bao gồm nhiều lệnh mà bạn cần phải nắm được nếu muốn sử dụng nó thành thạo. Ở bài viết này, chúng ta hãy cùng nhau tìm hiểu về lệnh INSERT trong SQL Server.
Câu lệnh INSERT của SQL Server là lệnh cơ bản được sử dụng để thêm các hàng dữ liệu mới vào một bảng. Cho dù chúng ta đang chèn các giá trị cụ thể, sử dụng các giá trị mặc định hay sao chép dữ liệu từ một bảng khác. Ở bài viết này, chúng ta sẽ khám phá cách dùng lệnh Insert.
Cú pháp lệnh INSERT
Chèn một bản ghi
Ở dạng đơn giản nhất, cú pháp lệnh INSERT chèn một bản ghi bằng từ khóa VALUES
INSERT INTO bang
(cot1, cot2, …)
VALUES
(bieuthuc1, bieuthuc2, …),
(bieuthuc1, bieuthuc2, …),
... ;
Cú pháp đầy đủ của lệnh INSERT chèn một bản ghi dùng từ khóa VALUES
INSERT INTO bang
(cot1, cot2, …)
VALUES
( DEFAULT | NULL | bieuthuc1,
DEFAULT | NULL | bieuthuc2,
…
);
Hoặc cú pháp chèn một bản ghi dùng từ khóa DEFAULT VALUES
INSERT INTO bang
(cot1, cot2, …)
DEFAULT VALUES;
Chèn nhiều bản ghi
Ở dạng đơn giản nhất, cú pháp chèn nhiều bản ghi bằng sub-select
INSERT INTO bang
(cot1, cot2, …)
SELECT bieuthuc1, bieuthuc2, …
FROM bang_nguon
[WHERE dieuk
ien];
Cú pháp đầy đủ để chèn nhiều bàn ghi bằng sub-select
INSERT [ TOP (giatri_dau) [PERCENT] ]
INTO bang
(cot1, cot2, …)
SELECT bieuthuc1, bieuthuc2, …
FROM bang_nguon
[WHERE dieukien];
Tên biến hoặc giá trị biến
bang
Bảng để chèn bản ghi vào.
cot1, cot2
Các cột trong bảng để chèn giá trị
bieuthuc1, bieuthuc2
Giá trị để chỉ định vào cột trong bảng. cot1 sẽ được chỉ định giá trị của bieuthuc1, cot2 sẽ được chỉ định giá trị của bieuthuc2…
TOP (giatri_dau)
Tùy chọn. Nếu được nêu ra cụ thể sẽ chèn giá trị đầu của hàng dựa trên giatri_dau. Ví dụ TOP(10) sẽ chèn 10 hàng đầu tiên từ bộ kết quả.
PERCENT
Tùy chọn. Nếu được nêu ra cụ thể thì các hàng đầu tiên dựa trên số phần trăm giatri_dau của bộ kết quả. Ví dụ như TOP(10) PERCENT sẽ chèn 10% giá trị đầu trong bộ kết quả.
bang_nguon
Bảng nguồn (bảng gốc) để chèn dữ liệu vào từ bảng khác.
WHERE dieukien
Tùy chọn. Các điều kiện phái được đáp ứng để bản ghi được chèn vào.
Lưu ý
- Khi chèn bản ghi vào bảng bằng lệnh INSERT, bạn phải cung cấp giá trị cho các cột NOT NULL.
- Bạn có thể bỏ cột từ lệnh INSERT nếu cột cho phép giá trị NULL.
Ví dụ - dùng từ khóa VALUES
INSERT INTO nhanvien
(nhanvien_id, ten, ho)
VALUE
(10, ‘Anderson’, ‘S
arah’);
Lệnh INSERT này sẽ cho kết quả là 1 bản ghi được chèn vào bảng nhanvien. Bản ghi này phải có nhanvien_id là 10, họ là Anderson và tên là Sarah.
Cú pháp này có thể được dùng để chèn nhiều hơn 1 bản ghi 1 lúc. Ví dụ như:
INSERT INTO nhanvien
(nhanvien_id, ho, ten)
VALUES
(19, ‘Anderson’, ‘Sarah’),
(11, ‘Johnson’, ‘Dale’)
;
Ví dụ lệnh INSERT nói trên cho thấy có thể chèn nhiều hơn 1 bản ghi bằng từ khóa VALUES. Ở ví dụ này, 2 bản ghi được chèn vào bảng nhanvien. Bản ghi đầu tiên có nhanvien_id là 10, họ là Anderson và tên là Sarah. Bản ghi thứ 2 có nhanvien_id là 11, họ là Johnson và tên là Dale.
Lệnh trên tương đương với các lệnh INSERT dưới đây.
INSERT INTO nhanvien
(nhanvien_id, ho, ten)
VALUES
(10, ‘Anderson’, ‘Sa
rah’);
INSERT INTO nhanvien
(nhanvien_id, ho, ten)
VALUES
(11, ‘Johnson’, ‘Dal
e’);
Ví dụ - dùng từ khóa DEFAULT VALUES
INSERT INTO nhanvien
(nhanvien_id, ho, ten)
DEFAULT VA
LUES;
Lệnh INSERT này sẽ chèn 1 bản ghi vào bảng nhanvien. Bản ghi mới được tạo bằng giá trị mặc định cho các trường thông tin ID, họ và tên của nhân viên.
Ví dụ - dùng lệnh SELECT
Có thể tạo lệnh INSERT phức tạp hơn bằng lệnh SELECT như dưới đây.
INSERT INTO danhba
(danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE nhanvien_id
<= 100;
Bằng cách đặt lệnh SELECT vào trong lệnh INSERT, bạn có thể thực hiện nhiều lần chèn nhanh hơn.
Với kiểu chèn này, bạn có thể sẽ muốn kiểm tra số hàng được chèn, xác định số hàng được chèn bằng cách chạy lệnh SELECT trước khi chèn.
SELECT count (*)
FROM nhanvien
WHERE nha
nvien_id <= 100;
Cách chèn và trả về những giá trị được chèn
SQL Server cung cấp lệnh OUTPUT để ghi lại các giá trị được chèn vào một bảng nhất định. Bạn có thể hiểu sâu hơn khái niệm này bằng cách dùng lệnh dưới đây để chèn một bản ghi mới vào bảng Student và trả về giá trị đã chèn của cột Marks:
INSERT INTO Student (Name, Gender, Age, Marks )
OUTPUT inserted.Marks
VALUES ('J P Dumini', 'Male', 32, 450);
Đây là kết quả:
Nếu muốn ghi lại những giá trị đã chèn từ nhiều cột, bạn cần xác định các cột đó trong kết quả như sau:
INSERT INTO Student (Name, Gender, Age, Marks )
OUTPUT inserted.Name,
inserted.Age,
inserted.Marks
VALUES ('Greme Smith', 'Male', 36, 455);
Kết quả:
Câu lệnh INSERT trong SQL Server cung cấp tính linh hoạt trong cách bạn thêm dữ liệu vào bảng của mình, cho dù đó là chèn các giá trị cụ thể, sử dụng giá trị mặc định hay sao chép dữ liệu từ các bảng khác. Bằng cách hiểu và sử dụng các dạng khác nhau của câu lệnh INSERT, bạn có thể quản lý dữ liệu hiệu quả trong cơ sở dữ liệu SQL Server của mình, đảm bảo tính chính xác và nhất quán.
Bài trước: Điều kiện BETWEEN trong SQL Server
Bài sau: Lệnh UPDATE trong SQL Server
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Hướng dẫn đổi hình nền máy tính cho Windows
Hôm qua 3 -
Những stt cảm động viết cho người yêu cũ
Hôm qua 1 -
Quên mật khẩu Wifi đã lưu? Đây là cách xem mật khẩu Wifi trên máy tính
Hôm qua 1 -
Hướng dẫn tải nhạc trên Tik Tok nhanh chóng, đơn giản
Hôm qua -
Cách tự động đăng nhập vào tài khoản người dùng trên Windows 11/10
Hôm qua -
Code Skibidi Tower Defense mới nhất và cách đổi code lấy thưởng
Hôm qua -
Nên sử dụng Linux desktop KDE hay GNOME?
Hôm qua -
Cách khôi phục bài viết đã ẩn trên Facebook bằng điện thoại, máy tính
Hôm qua 1 -
Cách tải Liên Minh Tốc Chiến cho iOS và Android
Hôm qua 6 -
Huyền Thoại Hải Tặc - Hải Tặc Đại Chiến