Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách xóa các bản ghi NULL trong cột MySQL

Để xóa hoàn toàn các hàng có giá trị NULL ở một cột, dùng câu lệnh DELETE với điều kiện IS NULL.

Cú pháp

DELETE FROM yourTableName WHERE yourColumnName IS NULL;

Ví dụ minh họa

Tạo bảng và chèn dữ liệu có NULL:

CREATE TABLE removeNullRecordsDemo (
    Name VARCHAR(100)
);

INSERT INTO removeNullRecordsDemo VALUES ('John');
INSERT INTO removeNullRecordsDemo VALUES (NULL);
INSERT INTO removeNullRecordsDemo VALUES ('Larry');
INSERT INTO removeNullRecordsDemo VALUES ('Bob');
INSERT INTO removeNullRecordsDemo VALUES (NULL);
INSERT INTO removeNullRecordsDemo VALUES ('David');
INSERT INTO removeNullRecordsDemo VALUES (NULL);

Dữ liệu ban đầu (7 hàng, 3 hàng NULL):

+-------+
| Name  |
+-------+
| John  |
| NULL  |
| Larry |
| Bob   |
| NULL  |
| David |
| NULL  |
+-------+

Xóa các hàng NULL:

DELETE FROM removeNullRecordsDemo WHERE Name IS NULL;

Kết quả (còn 4 hàng):

+-------+
| Name  |
+-------+
| John  |
| Larry |
| Bob   |
| David |
+-------+

Lưu ý quan trọng:

  • Luôn dùng IS NULL, không dùng = NULL (vì NULL = NULL trả về UNKNOWN, không phải TRUE).
  • Câu lệnh DELETE vĩnh viễn xóa dữ liệu. Hãy cân nhắc dùng SELECT kiểm tra trước, hoặc thêm WHERE chi tiết hơn để tránh xóa nhầm.
  • Nếu chỉ muốn "ẩn" NULL khi hiển thị, dùng COALESCE() hoặc IFNULL() trong SELECT thay vì xóa.