Hướng dẫn cách viết câu lệnh DELETE trong MySQL có ví dụ minh họa

Nội dung được viết bởi G-LEARNING

Lệnh truy vấn DELETE là gì?

Lệnh truy vấn DELETE trong MySQL được dùng để xóa các hàng không còn cần thiết từ các bảng của cơ sở dữ liệu. Nó xóa toàn bộ hàng từ bảng và trả về số dòng đã xóa. Câu lệnh này giúp ích cho việc xóa dữ liệu không cần thiết hoặc dữ liệu đã lỗi thời trong cơ sở dữ liệu.

Lệnh DELETE trong MySQL có thể xóa nhiều hơn một hàng trong một bảng chỉ bằng một câu lệnh duy nhất. Đây là lợi thế trong việc loại bỏ một số lượng lớn các hàng khỏi bảng trong cơ sở dữ liệu.

Một khi dữ liệu đã bị xóa bằng câu lệnh DELETE thì nó không thể được phục hồi. Chính vì vậy cần sao lưu cơ sở dữ liệu trước khi xóa bất kỳ dữ liệu nào. Điều này sẽ giúp cho chúng ta khôi phục cơ sở dữ liệu và có thể xem lại dữ liệu sau này trong trường hợp cần thiết.

Làm sao để xóa một hàng trong MySQL? 

Để xóa hàng trong một bảng của MySQL, chúng ta sử dụng câu lệnh DELETE FROM:

Hướng dẫn cách viết câu lệnh DELETE trong MySQL có ví dụ minh họa

Trong đó:

  • DELETE FROM `table_name` yêu cầu máy chủ MySQL xóa các hàng khỏi bảng
  • [WHERE condition] (tùy chọn): Được sử dụng để thiết lập giới hạn số dòng bị ảnh hưởng bởi câu lệnh DELETE

Nếu mệnh đề WHERE không được sử dụng trong câu truy vấn thì tất cả các hàng trong bảng đã cho đều sẽ bị xóa

Ví dụ

Các bạn có thể down dữ liệu myflix DB tại link sau và import vào MySQL workbench:

https://drive.google.com/uc?export=download&id=0B_vqvT0ovzHccjhtdGlrZ0MtZ0k

Trước khi đi vào chi tiết ví dụ này, hãy chèn một số dữ liệu mẫu vào bảng movies với câu lệnh sau:

Hướng dẫn cách viết câu lệnh DELETE trong MySQL có ví dụ minh họa

Thực hiện câu lệnh trên sẽ thêm 3 bộ phim vào bảng movies. Câu lệnh sau đây sẽ cho thấy thông tin tất cả các bộ phim trong bảng:

Hướng dẫn cách viết câu lệnh DELETE trong MySQL có ví dụ minh họa

Kết quả sẽ hiện lên như sau:

Hướng dẫn cách viết câu lệnh DELETE trong MySQL có ví dụ minh họa

Giả sử rằng Myflix không còn muốn thuê phim “The Great Dictator” cho các thành viên của mình nữa và họ muốn xóa nó khỏi cơ sở dữ liệu. ID của bộ phim này là 18, chúng ta có thể sử dụng câu lệnh sau để xóa hàng của nó khỏi danh sách phim:

Hướng dẫn cách viết câu lệnh DELETE trong MySQL có ví dụ minh họa

Sau khi thực hiện câu lệnh trên, trạng thái mới của bảng movies sẽ như sau:

Hướng dẫn cách viết câu lệnh DELETE trong MySQL có ví dụ minh họa

Lưu ý:

  • Bộ phim có ID 18 sẽ không được trả về trong kết quả truy vấn
  • Chúng ta chỉ có thể xóa một hàng chứ không thể xóa một cột trong một bảng

Trong trường hợp có một danh sách phim cần xóa, chúng ta có thể sử dụng mệnh đề WHERE kết hợp với IN:

Hướng dẫn cách viết câu lệnh DELETE trong MySQL có ví dụ minh họa

Chạy câu lệnh trên sẽ xóa những bộ phim có ID là 20 và 21 khỏi bảng movies.

Kết luận

  • Câu lệnh DELETE dùng để xóa dữ liệu không còn cần thiết từ bảng trong cơ sở dữ liệu
  • Mệnh đề WHERE được sử dụng để giới hạng số lượng dòng bị ảnh hưởng bởi câu lệnh DELETE
  • Một khi dữ liệu bị xóa thì sẽ không thể phục hồi, chính vì vậy cần sao lưu dữ liệu trước khi xóa.

Cảm ơn các bạn đã theo dõi! Hãy cùng xem các bài viết khác của Gitiho nhé!

Các bạn có thể tham khảo thêm các bài viết khác về cách sử dụng MySQL:

Hướng dẫn sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Hướng dẫn câu lệnh DELETE trong MySQL và ví dụ minh họa

Hướng dẫn câu lệnh UPDATE trong MySQL và các ví dụ


Đánh giá bài viết này

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông