Delete (SQL)

Bách khoa toàn thư mở Wikipedia

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[sửa | sửa mã nguồn]

Xóa các hàng trong bảng pies với điều kiện giá trị trong cột flavorLemon 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ệ[sửa | sửa mã nguồn]

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

pid name
1 Joe
2 Bob
3 Ann

address

aid description
100 2001 Main St.
200 35 Pico Blvd.

pa

pid aid
1 100
2 100
3 100
1 200

Bảng pa liên kết 2 bảng personaddress, 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[sửa | sửa mã nguồn]

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

Xem thêm[sửa | sửa mã nguồn]