Delete trong SQL

DELETE dùng để xóa các record trong bảng.
Cú pháp.

DELETE FROM [Tên bảng]
[Câu lệnh WHERE] ;

WHERE dùng để lọc những record bạn muốn xóa.

Lưu ý: Bạn chỉ xóa được những record nào không có khóa ngoại dẫn đến nó.

Ví dụ: thêm vào bảng Customers trong database NorthWind ba record mới, sau đó xóa nó.

Thêm ba record mới.

USE northwind; 

GO 

INSERT INTO Customers 
            (CustomerID, 
             CompanyName) 
VALUES     ( 'Test1', 
             'Test Delete' ); 

INSERT INTO Customers 
            (CustomerID, 
             CompanyName) 
VALUES     ( 'Test2', 
             'Test Delete' ); 

INSERT INTO Customers 
            (CustomerID, 
             CompanyName) 
VALUES     ( 'Test3', 
             'Test Delete' ); 

Xóa ba record vừa được tạo:

USE northwind; 

GO 

DELETE FROM Customers 
WHERE  CustomerID IN( 'Test1', 'Test2', 'Test3' ); 

Ta Insert ba record vào bảng Customers, dĩ nhiên ba record này sẽ không có quan hệ với bất kì record nào trong bảng Orders, nên khi chạy câu lệnh DELETE phía trên, chúng ta sẽ xóa được ba record này.

Tuy nhiên, nếu chúng ta xóa Customer có CustomerID = 'ALFKI'.

DELETE FROM Customers WHERE CustomerID = 'ALFKI'

SQL báo lỗi:

The DELETE statement conflicted with the REFERENCE constraint "FK_Orders_Customers". The conflict occurred in database "northwind", table "dbo.Orders", column 'CustomerID'.

The statement has been terminated.

Lí do: trong bảng Orders tồn tại những record có CustomerID = 'ALFKI'.  Bạn chỉ có thể xóa được những record không có khóa ngoại dẫn đến.

Bạn có thể tham khảo cách cài đặt database northwind tại đây:
http://hocdai.com/sql-can-ban/cai-dat-sql/cai-dat-database-northwind

Các môn học khác

HTTP giúp kết nối các máy tính trên mạng Internet thông qua TCP/IP

Khóa học này cung cấp cho ta kiến thức nền tảng về công nghệ Blockchain, Bitcoin. Vì sao nó được gọi là công nghệ của tương lai, vì sao giá Bitcoin lại cao đến vậy. Làm sao để mua Bitcoin, ETH.

Khoa học về dinh dưỡng, giáo trình giảm cân cho mọi người.