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

G-LEARNING
G-LEARNING
Apr 25 2020

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:

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:

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:

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

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:

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:

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:

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)

Bài viết liên quan

HƯỚNG DẪN VỀ LỆNH LIMIT VÀ OFFSET TRONG MySQL

HƯỚNG DẪN VỀ LỆNH LIMIT VÀ OFFSET TRONG MySQL

CÁCH SỬ DỤNG TỰ ĐỘNG TĂNG (AUTO_INCREMENT) TRONG MySQL

CÁCH SỬ DỤNG TỰ ĐỘNG TĂNG (AUTO_INCREMENT) TRONG MySQL

HƯỚNG DẪN CÁC KIỂU CỦA LỆNH JOIN TRONG MySQL: INNER, OUTER, LEFT, RIGHT, CROSS

HƯỚNG DẪN CÁC KIỂU CỦA LỆNH JOIN TRONG MySQL: INNER, OUTER, LEFT, RIGHT, CROSS

Hướng dẫn tìm hiểu về NULL và NOT NULL trong MySQL

Hướng dẫn tìm hiểu về NULL và NOT NULL trong MySQL

Tìm hiểu về mệnh đề GROUP BY và HAVING trong MySQL

Tìm hiểu về mệnh đề GROUP BY và HAVING trong MySQL

Hướng dẫn cách sử dụng UNION trong MySQL

Hướng dẫn cách sử dụng UNION trong MySQL

@ 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