Delete (SQL)

Câu lệnh SQL DELETE xóa một hoặc nhiều hàng trong bảng dữ liệu. Nếu thực hiện câu lệnh DELETE với 1 điều kiện nào đó thì một số hàng thỏa điều kiện sẽ bị xóa đi, ngược lại tất cả các hàng sẽ bị xóa hết.

 Ví dụ thông thường 

Xóa các hàng trong bảng pies với điều kiện giá trị trong cột flavor là Lemon Meringue:

 DELETE FROM pies WHERE flavor='Lemon Meringue';

Xóa các hàng trong bảng trees, nếu giá trị trong cột height nhỏ hơn 80.

 DELETE FROM trees WHERE height < 80;

Xóa tất cả các hàng trong bảng mytable:

 DELETE FROM mytable;

Xóa các hàng trong bảng mytable sử dụng câu lệnh SELECT trong mệnh đề điều kiện:

 DELETE FROM mytable WHERE id IN (SELECT id FROM mytable2)

Xóa các hàng trong bảng mytable sử dụng danh sách các giá trị điều kiện:

 DELETE FROM mytable WHERE id IN (value1, value2, value3, value4, value5)

 Ví dụ với các bảng quan hệ 

Giả sử có 1 cơ sở dữ liệu đơn giản chứa thông tin cá nhân và địa chỉ. Có nhiều người sống tại 1 địa chỉ, và cũng có thể có một người sống ở nhiều địa chỉ khác nhau (đây là ví dụ cho quan hệ nhiều-nhiều many-to-many relationship). Trong cơ sở dữ liệu chỉ có 3 bảng person, address, và pa, với dữ liệu như sau:

person
pidname 1  Joe 2  Bob 3  Ann

address
aiddescription 100  2001 Main St. 200  35 Pico Blvd.

pa
pidaid 1  100 2  100 3  100 1  200

Bảng pa liên kết 2 bảng person và address, thể hiện Joe, Bob và Ann cùng sống chung tại 2001 Main Street, nhưng Joe lại sống ở đường Pico Boulevard.

Để xóa thông tin về Joe khỏi cơ sở dữ liệu, phải thực thi 2 lệnh xóa:

 DELETE FROM person WHERE pid=1
 DELETE FROM pa WHERE pid=1

Tham khảo

Peter Rob & Carlos Coronel. Database System: Design, Implementation, & Management, 2004, THOMSON Course Technology.

Xem thêm
 SQL
 Select (SQL)
 Update (SQL)
 Insert (SQL)
 Join (SQL)

Thể loại:SQL