Câu lệnh DELETE trong SQL

Câu lệnh DELETE được sử dụng để xoá các bản ghi trong một bảng.

Câu lệnh SQL DELETE

Câu lệnh DELETE được sử dụng để xoá các hàng trong một bảng.

Cú pháp SQL DELETE

DELETE FROM ten_bang
WHERE mot_so_cot=mot_so_gia_tri;

Lưu ý mệnh đề WHERE trong câu lệnh SQL DELETE 

Mệnh đề WHERE chỉ định bản ghi hoặc các bản ghi phải được xoá. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi sẽ bị xoá!

Cơ sở dữ liệu Demo

Trong khoá này chúng ta sẽ sử dụng bảng cơ sở dữ liệu mẫu Northwind được nhiều người biết đến.

Dưới đây là một lựa chọn từ bảng “Customers”:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Ví dụ về SQL DELETE

Giả sử chúng ta muốn xoá khách hàng “Alfreds Futterkiste” từ bảng “Customers”.

Chúng ta sử dụng câu lệnh SQL sau:

Ví dụ

DELETE FROM Customers
WHERE CustomerName=’Alfreds Futterkiste’ AND ContactName=’Maria Anders’;

Bảng “Customers” giờ sẽ trông giống như thế này:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Xoá tất cả dữ liệu

Bạn có thể xoá tất cả các hàng trong một bảng mà không xoá bảng. Điều này có nghĩa là cấu trúc bảng, các thuộc tính và các chỉ số sẽ vẫn còn nguyên:

DELETE FROM table_name;

or

DELETE * FROM table_name;

Note: Phải cẩn thận khi muốn xoá các bản ghi. Bạn không thể undo (kiểu Ctrl + Z) câu lệnh này đâu! Vì vậy trong thực tế với các dữ liệu người ta hiếm khi xoá mà thường thêm một trường để đánh dấu nó có cần dùng hay không và giúp lấy lại dữ liệu khi cần thiết phải xem xét.