Phần 8: Câu lệnh Insert, Update và Delete trong SQL Server – Học SQL Server Basic
Trong bài này, ta sẽ cùng nhau tìm hiểu những câu lệnh cần dùng khi thêm, sửa, xóa dữ liệu trong SQL Server.
Table of Contents
1. Insert
Lệnh INSERT INTO trong SQL được dùng để thêm các hàng dữ liệu mới vào 1 bảng trong Database.
Có 2 dạng cú pháp cho lệnh INSERT INTO trong SQL như dưới đây:
INSERT INTO TABLE_TEN (cot1, cot2, cot3,...cotN)]
VALUES (giatri1, giatri2, giatri3,...giatriN);
Tại đây, cot1, cot2,…cotN là tên các cột trong bảng mà các bạn muốn chèn dữ liệu.
Bạn sẽ có thể không cần xác định tên các cột trong truy vấn SQL nếu như bạn đang thêm những giá trị cho toàn bộ cot của bảng đó. Nhưng bạn nên bảo đảm thứ tự của những giá trị là giống thứ tự các cột trong bảng. Cú pháp của lệnh INSERT INTO này như dưới đây:
INSERT INTO TABLE_TEN VALUES (giatri1,giatri2,giatri3,...giatriN);
Ví dụ: với đoạn mã dưới đây, ta sẽ thêm được dữ 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ả nhận được:
2. SQL Update
UPDATE trong SQL được dùng để chỉnh sửa những bản ghi đang tồn tại trong 1 bảng.
Bạn sẽ có thể sử dụng mệnh đề WHERE với truy vấn UPDATE để update các hàng được chọn lựa, nếu như không, toàn bộ các hàng sẽ bị tác động.
Cú pháp căn bản của truy vấn UPDATE với mệnh đề WHERE như dưới đây:
UPDATE ten_bang
SET cot1 = giatri1, cot2 = giatri2...., cotN = giatriN
WHERE [dieu_kien];
Ví dụ, ban đầu, ta có thông tin của giáo viên có MAGV là 001 như dưới đây:
Ta cần chỉnh sửa mức lương của giáo viên lên 3500, ta sử dụng câu lệnh như dưới đây:
UPDATE GIAOVIEN SET LUONG = 3500 WHERE MAGV = 001
Kết quả nhận được:
3. SQL Delete
Lệnh DELETE được dùng để xóa các hàng từ 1 bảng. Nếu như bạn cần xóa 1 hàng chi tiết từ 1 bảng, bạn nên sử dụng mệnh đề WHERE.
DELETE FROM ten_bang [WHERE dieu_kien];
Nhưng nếu như bạn không xác định 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ư dưới đây:
DELETE GIAOVIEN WHERE MAGV = 002
Có những khái niệm giống nhau như lệnh DELETE, ví dụ như lệnh DROP và lệnh TRUNCATE nhưng chúng không thực sự giống nhau, dưới đây chính là 1 điểm khác nhau giữa chúng.
Điểm khác nhau giữa lệnh DELETE và lệnh TRUNCATE
Có 1 đ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 vào điều kiện được định nghĩa do mệnh đề WHERE hay xóa toàn bộ các hàng từ bảng nếu như đ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 ấy, lệnh TRUNCATE xóa toàn bộ các hàng từ bảng và giải phóng bộ nhớ chứa bảng đó. Để xóa toàn bộ các hàng từ bảng SINHVIEN, truy vấn như dưới đây:
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 định nghĩa bảng, để toàn bộ các mối quan hệ giữa bảng đó với bảng khác là không còn hiệu lực nữa. Khi bạn DROP 1 bảng:
- Cấu trúc bảng sẽ bị xóa.
- Mối quan hệ sẽ bị xóa.
- Các ràng buộc về toàn vẹn dữ liệu sẽ bị xóa.
- Quyền truy cập sẽ bị xóa.
Nói theo cách khác, khi ta sử dụng lệnh TRUNCATE, thì cấu trúc bảng vẫn như cũ, do vậy ta không phải tốn công tạo lại và không phải đối mặt với những vấn đề trên.
Như thế, qua bài học này, ta đã tìm hiểu những câu lệnh dùng để thêm, sửa, xóa dữ liệu trong SQL Server. Cảm ơn anh em đã đọc.