Bài MySQL 31: Lệnh DELETE trong MySQL

0
697

Xin chào các bạn, trong bài học ngày hôm nay mình sẽ hướng dẫn các bạn sử dụng lệnh DELETE trong MySQL để xóa dữ liệu từ một bảng duy nhất.

Giới thiệu

Để xóa dữ liệu từ một bảng, bạn sử dụng câu lệnh DELETE với cú pháp như sau:

Trong cú pháp này:

  • Đầu tiên, chỉ định bảng mà bạn muốn xóa dữ liệu.
  • Thứ hai, sử dụng một điều kiện để xác định những hàng cần xóa trong câu lệnh WHERE. Nếu hàng đó  khớp với điều kiện thì nó sẽ bị xóa.

Lưu ý rằng câu lệnh WHERE là tùy chọn. Nếu bạn bỏ qua lệnh WHERE, câu lệnh DELETE sẽ xóa tất cả các hàng trong bảng.

Bên cạnh việc xóa dữ liệu khỏi bảng thì câu lệnh DELETE còn trả về số hàng bị xóa.

Để xóa dữ liệu từ nhiều bảng bằng cách sử dụng một câu lệnh DELETE duy nhất, bạn có thể sử dụng câu lệnh DELETE JOIN mà mình sẽ hướng dẫn các bạn trong bài tiếp theo.

Để xóa tất cả các hàng trong một bảng mà không cần biết có bao nhiêu hàng bị xóa, bạn nên sử dụng câu lệnh TRUNCATE TABLE để có được hiệu suất tốt hơn.

Đối với một bảng có ràng buộc khóa ngoại(foreign key), khi bạn xóa các hàng khỏi bảng cha, các hàng trong bảng con sẽ bị xóa tự động bị xóa bằng cách sử dụng tính năng ON DELETE CASCADE.

Ví dụ về câu lệnh DELETE

Mình sẽ sử dụng để bảng employees để xây dựng ví dụ cho các bạn:

Lưu ý rằng khi bạn xóa dữ liệu thì nó sẽ biến mất. Do đó, bạn nên sao lưu cơ sở dữ liệu của mình trước khi thực hiện các câu lệnh DELETE.

Giả sử bạn muốn xóa các nhân viên có id là 11, bạn sử dụng câu lệnh DELETE với lệnh WHERE như truy vấn sau đây:

kết quả trả về là:

DELETE với câu lệnh LIMIT

Nếu bạn muốn giới hạn số hàng cần xóa, bạn sử dụng câu lệnh LIMIT như sau:

Lưu ý rằng thứ tự của các hàng trong một bảng không được chỉ định rõ, do đó khi bạn sử dụng câu lệnh LIMIT, bạn nên sử dụng kèm với câu lệnh ORDER BY.

Ví dụ: truy vấn sau sẽ sắp xếp nhân viên theo id và xóa 5 nhân viên đầu tiên:

kết quả trả về là:

Kết luận

Như vậy trong bài học ngày hôm nay mình đã hướng dẫn các bạn sử dụng câu lệnh DELETE trong MySQL để xóa dữ liệu từ một bảng duy nhất. Trong bài học tiếp theo chúng ta sẽ tìm hiểu về câu lệnh DELETE JOIN.

Chúc các bạn học tập tốt!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây