INSERT – Lệnh thêm dữ liệu

1. Mô tả

  • Lệnh INSERT dùng để thêm mới dữ liệu vào bảng (Table).

2. Cú pháp

INSERT Tên_bảng(Cột_1, Cột_2,... Cột_n)
VALUES(Giá_trị_1, Giá_trị_2,... Giá_trị_n)
--Hoặc (có thể thêm INTO):
INSERT INTO Tên_bảng(Cột_1, Cột_2,... Cột_n)
VALUES(Giá_trị_1, Giá_trị_2,... Giá_trị_n)

3. Ví dụ

  • Thêm một dòng mới vào bảng: chỉ duy nhất một dòng được thêm vào tại một thời điểm.
INSERT DEPARTMENTS(Department_id, Department_name, Manager_id, Location_id)
VALUES(280, 'Service', 145, 2500)
  • Thêm nhiều dòng mới vào bảng: Thêm một dòng với các giá trị cho mỗi cột; Thứ tự các cột sẽ tương ứng với thứ tự các giá trị trong lệnh INSERT; Nếu bỏ qua danh sách các cột thì thứ tự các cột sẽ được hiểu là thứ tự trong bảng.
INSERT DEPARTMENTS
VALUES(290, 'Service', 145, 2500)
  • Thêm dòng với giá trị NULL: Giá trị ngày và chuỗi phải đặt trong dấu nháy đơn; Ngầm định bỏ qua các cột trong danh sách cột.
INSERT DEPARTMENTS(Department_id, Department_name)
VALUES(300, N'Quảng cáo')
--Sử dụng từ khóa NULL trong mệnh đề VALUES
INSERT DEPARTMENTS(Department_id, Department_name, Manager_id, Location_id)
VALUES(310, N'Quảng cáo', NULL, NULL)
  • Thêm dòng với các giá trị đặc biệt: hàm GETDATE trả về ngày giờ hiện hành.
INSERT EMPLOYEES(Employee_id, First_name, Last_name, Email, Phone_number, Hire_date, Job_id, Salary, Commission_pct, Manager_id, Department_id)
VALUES(207, N'Thảo', N'Lý Ngọc', 'lnthao@gmail.com', '0913 111 333', GETDATE(), 'AC_ACCOUNT', 7000, NULL, 205, 110)
  • Thêm dòng với các giá trị của các biến giá trị: Dấu @ được đặt trước tên biến.
INSERT DEPARTMENTS(Department_id, Department_name)
VALUES(@Maphong, '@Tenphong')
  • Lấy dữ liệu các dòng từ một bảng khác: Sử dụng lệnh INSERT với truy vấn con; Không sử dụng mệnh đề VALUES; Các cột trong mệnh đề INSERT và các cột trả về từ truy vấn con phải khớp nhau. (Tham khảo thêm lệnh tạo Table)
--Tạo bảng
CREATE TABLE NHAN_VIEN
(
	manv numeric(6, 0) PRIMARY KEY,
	hovaten nvarchar(50),
	mapb numeric(4, 0)
)
--Thêm dữ liệu vào bảng NHAN_VIEN lấy từ bảng EMPLOYEES
INSERT INTO NHAN_VIEN(manv, hovaten, mapb)
SELECT Employee_id, Last_name + ' ' + First_name, Department_id
FROM EMPLOYEES
WHERE Job_id LIKE '%sa%'

Xem thêm: lệnh sửa dữ liệu UPDATE, lệnh xóa dữ liệu DELETE, lệnh xóa toàn bộ dữ liệu trong bảng TRUNCATE TABLE, lệnh trộn dữ liệu MERGE.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *