Bài 8: Câu lệnh Insert, Update và Delete trong SQL Server – Học SQL Server cơ bản

Đăng bởi : Admin | Lượt xem : 4158 | Chuyên mục : SQL

Trong bài này, tất cả chúng ta sẽ cùng khám phá những câu lệnh cần dùng khi thêm, sửa, xóa dữ liệu trong SQL Server .

1. Insert

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ó 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 những cột trong bảng mà bạn muốn chèn tài liệu .Bạn hoàn toàn có thể không cần xác lập tên những cột trong truy vấn SQL nếu bạn đang thêm những giá trị cho tổng thể cot của bảng đó. Nhưng bạn nên bảo vệ thứ tự của những giá trị là giống như thứ tự những 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ụ : với đoạn mã sau đây, tất cả chúng ta sẽ thêm được tài liệu vào bảng GIAOVIEN :

Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI)
	values ('001',N'Nguyễn Hoài An',2000.0,N'Nam','1973-02-15',N'25/3 Lạc Long Quân, Q.10,TP HCM')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI)
	values ('002',N'Trần Trà Hương',2500.0,N'Nữ','1960-06-20',N'125 Trần Hưng Đạo, Q.1, TP HCM')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI,GVQLCM)
	values ('003',N'Nguyễn Ngọc Ánh',2200.0,N'Nữ','1975-05-11',N'12/21 Võ Văn Ngân Thủ Đức, TP HCM',N'002')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI)
	values ('004',N'Trương Nam Sơn',2300.0,N'Nam','1959-06-20',N'215 Lý Thường Kiệt,TP Biên Hòa')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI)
	values ('005',N'Lý Hoàng Hà',2500.0,N'Nam','1954-10-23',N'22/5 Nguyễn Xí, Q.Bình Thạnh, TP HCM')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI,GVQLCM)
	values ('006',N'Trần Bạch Tuyết',1500.0,N'Nữ','1980-05-20',N'127 Hùng Vương, TP Mỹ Tho',N'004')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI)
	values ('007',N'Nguyễn An Trung',2100.0,N'Nam','1976-06-05',N'234 3/2, TP Biên Hòa')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI,GVQLCM)
	values ('008',N'Trần Trung Hiếu',1800.0,N'Nam','1977-08-06',N'22/11 Lý Thường Kiệt,TP Mỹ Tho',N'007')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI,GVQLCM)
	values ('009',N'Trần Hoàng nam',2000.0,N'Nam','1975-11-22',N'234 Trấn Não,An Phú, TP HCM',N'001')
	Insert Into GIAOVIEN(MAGV,HOTEN,LUONG,PHAI,NGSINH,DIACHI,GVQLCM)
	values ('010',N'Phạm Nam Thanh',1500.0,N'Nam','1980-12-12',N'221 Hùng Vương,Q.5, TP HCM',N'007')

Kết quả thu được :

2. SQL Update

UPDATE trong SQL được sử dụng để sửa đổi những bản ghi đang sống sót trong một bảng .Bạn hoàn toàn có thể sử dụng mệnh đề WHERE với truy vấn UPDATE để update những hàng đã được lựa chọn, nếu không, toàn bộ những hàng sẽ bị tác động ảnh hưởng .Cú pháp cơ bản của truy vấn UPDATE với mệnh đề WHERE như sau :

UPDATE ten_bang
SET cot1 = giatri1, cot2 = giatri2...., cotN = giatriN
WHERE [dieu_kien];

Ví dụ, ban đầu, chúng ta có thông tin của giáo viên có MAGV là 001 như sau:

Ta cần sửa mức lương của giáo viên lên 3500, ta sử dụng câu lệnh như sau :

UPDATE GIAOVIEN SET LUONG = 3500 WHERE MAGV = 001

Kết quả thu được :

3. SQL Delete

Lệnh DELETE được sử dụng để xóa các hàng từ một bảng. Nếu bạn muốn xóa một hàng cụ thể từ một bảng, bạn nên sử dụng mệnh đề WHERE.

DELETE FROM ten_bang [WHERE dieu_kien];

Nhưng nếu bạn không xác lập mệnh đề WHERE, thì nó sẽ xóa toàn bộ hàng từ bảng .

DELETE FROM ten_bang;

Ví dụ, ta muốn xóa thông tin của giáo viên có MAGV là 002, câu lệnh như sau :

DELETE GIAOVIEN WHERE MAGV = 002

Có một số khái niệm tương tự như lệnh DELETE, chẳng hạn như lệnh DROP và lệnh TRUNCATE nhưng chúng không thực sự giống nhau, dưới đây là một số điểm khác nhau giữa chúng.

Điểm khác nhau giữa lệnh DELETE và lệnh TRUNCATE

Có một điểm khác nhau nhỏ giữa lệnh DELETE và lệnh TRUNCATE. Lệnh DELETE chỉ xóa các hàng từ bảng dựa trên điều kiện đã được định nghĩa bởi mệnh đề WHERE hoặc xóa tất cả các hàng từ bảng nếu điều kiện này không được xác định. Nhưng nó không giải phóng bộ nhớ chứa bảng đó.

Trong khi đó, lệnh TRUNCATE xóa tất cả các hàng từ bảng và giải phóng bộ nhớ chứa bảng đó. Để xóa tất cả các hàng từ bảng SINHVIEN, truy vấn như sau:

TRUNCATE TABLE SINHVIEN;
Điểm khác nhau giữa lệnh DROP và lệnh TRUNCATE

Khi bạn sử dụng lệnh DROP, nó xóa hàng của bảng cùng với định nghĩa bảng, để tổng thể những mối quan hệ giữa bảng đó với bảng khác là không còn hiệu lực hiện hành nữa. Khi bạn DROP một bảng :

  1. Cấu trúc bảng sẽ bị xóa.
  2. Mối quan hệ sẽ bị xóa.
  3. Các ràng buộc về toàn vẹn dữ liệu sẽ bị xóa.
  4. Quyền truy cập cũng sẽ bị xóa.

Nói cách khác, khi tất cả chúng ta sử dụng lệnh TRUNCATE, thì cấu trúc bảng vẫn như cũ, do đó tất cả chúng ta không phải mất công tạo lại và không phải đương đầu với những yếu tố trên .Như vậy, trải qua bài học kinh nghiệm này, tất cả chúng ta đã tìm hiểu và khám phá những câu lệnh dùng để thêm, sửa, xóa dữ liệu trong SQL Server. Cảm ơn những bạn đã đọc .