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

Xóa dòng trống (blank) và NULL trong MySQL

Cú pháp

DELETE FROM bang WHERE cot = '' OR cot IS NULL;

Ví dụ: Xóa StudentName rỗng hoặc NULL

Dữ liệu ban đầu (8 dòng, 4 dòng rỗng/NULL)

+----+-------------+
| Id | StudentName |
+----+-------------+
| 1  | John        |
| 2  |             |  -- Empty string
| 3  |             |  -- Empty string
| 4  | NULL        |  -- NULL
| 5  | Carol       |
| 6  | Bob         |
| 7  |             |  -- Empty string
| 8  | David       |
+----+-------------+

Truy vấn

mysql> DELETE FROM deleteRowDemo WHERE StudentName = '' OR StudentName IS NULL;

Kết quả (còn 4 dòng)

+----+-------------+
| Id | StudentName |
+----+-------------+
| 1  | John        |
| 5  | Carol       |
| 6  | Bob         |
| 8  | David       |
+----+-------------+

Phân biệt Empty String vs NULL

Đặc điểmEmpty String ('')NULL
Ký hiệu''NULL
Kiểm tracot = ''cot IS NULL
Độ dài0Không áp dụng
Storage1-2 bytes0 byte (trong compact format)

Mở rộng: Xóa khoảng trắng (whitespace)

UPDATE bang SET cot = TRIM(cot) WHERE TRIM(cot) != cot;
DELETE FROM bang WHERE cot = '' OR cot IS NULL;

Lưu ý: Luôn backup hoặc SELECT trước khi DELETE lớn. Dùng transaction nếu cần rollback.