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
[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 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ệ
[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 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
[sửa | sửa mã nguồn]- Peter Rob & Carlos Coronel. Database System: Design, Implementation, & Management, 2004, THOMSON Course Technology.