Đăng nhập

Bài 14. DELETE – Xóa dữ liệu

Trong thực tế, không phải lúc nào dữ liệu cũng được giữ lại mãi mãi. Sẽ có lúc bạn cần xóa một bản ghi không còn đúng, không còn cần thiết, hoặc bị nhập sai. Câu lệnh DELETE trong SQL được thiết kế để làm việc đó – loại bỏ dữ liệu khỏi bảng một cách chính xác và kiểm soát. Trong bài học này, bạn sẽ học cách sử dụng DELETE để xóa dữ liệu, cách kết hợp với mệnh đề WHERE để tránh xóa nhầm toàn bộ bảng, và những lưu ý khi làm việc với thao tác có tính “không thể hoàn tác” này.


Câu lệnh DELETE – Cú pháp cơ bản

Cú pháp tổng quát của DELETE là:

DELETE FROM ten_bang
WHERE dieu_kien;

Lưu ý quan trọng: Nếu bạn quên WHERE, toàn bộ dữ liệu trong bảng đó sẽ bị xóa!


Ví dụ minh họa

Giả sử chúng ta có bảng students với dữ liệu như sau:

idnamegrade
1An Nguyễn9
2Bình Trần10
3Châu Lê9

Xóa học sinh có id = 2:

DELETE FROM students
WHERE id = 2;

Sau khi thực hiện, bảng còn lại:

idnamegrade
1An Nguyễn9
3Châu Lê9

Một số ví dụ khác

Xóa tất cả học sinh lớp 9:

DELETE FROM students
WHERE grade = 9;

Xóa toàn bộ bảng (không khuyến khích):

DELETE FROM students;

Tác động rất lớn! Hãy cẩn thận vì nó xóa toàn bộ dữ liệu mà không cần điều kiện.


Phân biệt DELETE và TRUNCATE

Tiêu chíDELETETRUNCATE
Có WHERECó thể dùngKhông hỗ trợ
Khôi phục dữ liệuCó thể nếu dùng trong giao dịchKhông thể
Tốc độChậm hơnNhanh hơn (xóa toàn bộ bảng)
Ứng dụngXóa dữ liệu có điều kiệnXóa toàn bộ bảng nhanh chóng

Lưu ý an toàn khi dùng DELETE

  1. Luôn dùng mệnh đề WHERE trừ khi bạn chắc chắn muốn xóa toàn bộ.
  2. Sao lưu dữ liệu trước khi xóa số lượng lớn.
  3. Thử chạy SELECT với điều kiện trước để xem mình sẽ xóa gì.
  4. Sử dụng giao dịch (transaction) nếu hệ quản trị hỗ trợ.

Ví dụ:

START TRANSACTION;

DELETE FROM students WHERE grade = 9;

ROLLBACK; -- hoặc COMMIT nếu bạn chắc chắn

Tổng kết

Câu lệnh DELETE là công cụ mạnh mẽ để quản lý dữ liệu, nhưng cũng tiềm ẩn nhiều rủi ro nếu không sử dụng cẩn thận. Khi đã nắm rõ cú pháp, kết hợp linh hoạt với WHERE, bạn sẽ có khả năng kiểm soát dữ liệu một cách chính xác và an toàn. Trong bài tiếp theo, chúng ta sẽ cùng bước sang chương mới để tìm hiểu cách thiết kế cơ sở dữ liệu hiệu quả với các ràng buộc và mối quan hệ giữa các bảng.

Thảo luận

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 *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.