Lệnh DELETE trong SQL

Đây là loạt bài hướng dẫn học SQL của Quantrimang.com. Ở các bài trước bạn đã làm quen với những lệnh SQL hết sức cơ bản như lệnh tạo cơ sở dữ liệu, lệnh tạo bảng, lệnh INSERT,... Trong bài viết này chúng ta sẽ tiếp tục với một truy vấn SQL được sử dụng rất nhiều, đó là DELETE.

Trong SQL, lệnh DETELE được sử dụng để xóa những bản ghi đang tồn tại trong một bảng. Bạn có thể sử dụng mệnh đề WHERE với lệnh DELETE để xóa hàng đã chọn.

Cú pháp lệnh DELETE trong SQL

Cú pháp cơ bản của lệnh DELETE với mệnh đề WHERE sẽ như sau:

DELETE FROM ten_bang
WHERE [dieu_kien];

Bạn có thể thêm nhiều điều kiện trong mệnh đề WHERE bằng cách sử dụng toán tử AND hoặc OR.

Lưu ý: Hãy cẩn thận khi xóa các bản ghi trong bảng! Luôn phải lưu ý đến mệnh đề WHERE trong câu lệnh DELETE. Mệnh đề WHERE chỉ định (các) bản ghi nào nên được xóa. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi trong bảng sẽ bị xóa!

Ví dụ về DELETE trong SQL

Sử dụng bảng NHANVIEN có các bản ghi dưới đây:

+----+----------+-----+-----------+---------+ 
| 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|
+----+----------+-----+-----------+---------+

Xóa 1 bản ghi phù hợp với điều kiện

Bây giờ ta sẽ sử dụng truy vấn DELETE dưới đây để xóa nhân viên có ID là 3.

DELETE FROM CUSTOMERS 
WHERE ID = 3;

Bảng NHANVIEN ban đầu sau khi xóa sẽ trở thành:

+----+----------+-----+-----------+---------+ 
| ID |   TEN    | TUOI|   DIACHI  |  LUONG  |
+----+----------+-----+-----------+---------+
| 1  |   Thanh  |  24 |  Haiphong | 2000.00 |
| 2  |   Loan   |  26 |  Hanoi    | 1500.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|
+----+----------+-----+-----------+---------+

Xóa nhiều bản ghi

Vẫn bảng NHANVIEN ban đầu, giờ bạn sẽ xóa tất cả những người có DIACHI ở Hanoi hoặc Hue, câu lệnh sẽ như sau:

DELETE FROM CUSTOMERS 
WHERE DIACHI = 'Hanoi' OR DIACHI = 'Hue';

Bảng NHANVIEN lúc này sẽ chỉ còn những người sau:

+----+----------+-----+-----------+---------+ 
| ID |   TEN    | TUOI|   DIACHI  |  LUONG  |
+----+----------+-----+-----------+---------+
| 1  |   Thanh  |  24 |  Haiphong | 2000.00 |
| 5  |   Huy    |  28 |  Hatinh   | 8500.00 |
| 6  |   Cao    |  23 |  HCM      | 4500.00 |
+----+----------+-----+-----------+---------+

Xóa tất cả các bản ghi trong bảng

Như đã nói ở phần đầu, nếu muốn xóa tất cả các bản ghi trong bảng NHANVIEN, bạn chỉ cần sử dụng lệnh DELETE và bỏ mệnh đề WHERE như dưới đây:

DELETE FROM CUSTOMERS;

Khi lệnh hoàn tất, bảng NHANVIEN sẽ không còn bất kỳ bản ghi nào nữa. Nhớ là, lệnh này chỉ xóa tất cả các hàng trong bảng, chú không xóa bảng; cấu trúc bảng, thuộc tính, chỉ mục vẫn còn nguyên.

Trong phần tiếp theo, chúng ta sẽ tìm hiểu về mệnh đề LIKE, các bạn nhớ theo dõi nhé.

Thứ Sáu, 05/08/2022 14:06
4,37 👨 23.869
0 Bình luận
Sắp xếp theo
    ❖ Học SQL