Vấn đề:
Bạn muốn xóa một hàng / hàng khỏi bảng.
Ví dụ 1:
Trong exam
bảng, có tên của học sinh và kết quả của kỳ thi.
name | kết quả |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anne Johnson | 11 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Bạn muốn xóa hàng cho Ellen Thornton.
Giải pháp 1:
DELETE FROM exam WHERE name = 'Ellen Thornton';
Bảng exam
bây giờ trông như thế này:
name | kết quả |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anne Johnson | 11 |
Josh Kaur | 10 |
Thảo luận:
Sử dụng DELETE FROM
với tên của bảng mà bạn muốn xóa một hàng. Trong WHERE
, viết điều kiện xác định hàng. Nếu bạn có một hàng cụ thể trong tâm trí, tốt nhất là viết điều kiện bằng cách sử dụng cột chứa các giá trị duy nhất. Ở đây, cột duy nhất là name
.
Nếu có nhiều hàng có tên bằng 'Ellen Thornton
', tất cả chúng sẽ bị xóa. Nếu không có tên như vậy, không có hàng nào bị xóa.
Ví dụ 2:
Trong exam
bảng, có tên của các học sinh và kết quả của kỳ thi, giống như trong ví dụ trước.
name | kết quả |
---|---|
Janet Morgen | 9 |
Taya Bain | 11 |
Anne Johnson | 11 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Bạn muốn xóa tất cả các hàng có result
lớn hơn 10
.
Giải pháp 2:
DELETE FROM exam WHERE result > 10;
exam
bảng bây giờ trông như thế này:
name | kết quả |
---|---|
Janet Morgen | 9 |
Josh Kaur | 10 |
Ellen Thornton | 8 |
Thảo luận:
Đôi khi, bạn không biết chính xác các hàng bạn cần loại bỏ hoặc thậm chí có bao nhiêu hàng bạn cần loại bỏ. Bạn có thể viết điều kiện cần loại bỏ các hàng. Có thể có nhiều hàng đáp ứng điều kiện, nó có thể chỉ là một hàng hoặc không có hàng nào cả.
Tất nhiên, bạn có thể viết nhiều điều kiện trong WHERE
, kết hợp chúng với AND
hoặc OR
, ví dụ:
DELETE FROM exam WHERE result > 10 AND name LIKE 'J%';