Giới thiệu
Có một số lý do tại sao bạn có thể muốn kiểm tra xem một cột có NULL
trong MySQL:
-
Đến lọc kết quả truy vấn – Bạn có thể muốn loại trừ các hàng có
NULL
giá trị từ kết quả truy vấn của bạn. Ví dụ: bạn có thể muốn nhận danh sách tất cả người dùng đã cung cấp địa chỉ email của họ nhưng loại trừ những người chưa cung cấp. -
Đến cập nhật hoặc xóa hàng – Bạn có thể chỉ muốn cập nhật hoặc xóa những hàng có
NULL
giá trị trong một cột cụ thể. Ví dụ: bạn có thể muốn đặt giá trị giữ chỗ cho tất cả người dùng chưa cung cấp giá trị đó. -
Đến xử lý dữ liệu bị thiếu - Trong nhiều trường hợp,
NULL
các giá trị có thể chỉ ra dữ liệu bị thiếu hoặc không xác định do nhầm lẫn. Đang kiểm tra để màNULL
các giá trị có thể giúp bạn xử lý dữ liệu này một cách thích hợp trong ứng dụng của mình. -
Đến thực thi tính toàn vẹn dữ liệu – Bạn có thể muốn đảm bảo rằng một số cột nhất định không bị
NULL
để duy trì tính toàn vẹn của dữ liệu của bạn. Ví dụ: bạn có thể muốn đảm bảo rằng tất cả người dùng đều không cóNULL
địa chỉ email.
Nhìn chung, việc kiểm tra NULL
các giá trị có thể là một phần quan trọng khi làm việc với dữ liệu trong MySQL.
Trong bài viết ngắn này, chúng ta sẽ xem xét những gì
NULL
trong MySQL là gì và làm thế nào để kiểm tra xem một cột cóNULL
. Ngoài ra, chúng ta sẽ xem xét một truy vấn mẫu tìm thấy cả haiNULL
và các trường trống trong cột được chỉ định.
Là gì NULL trong MySQL
Trong MySQL, NULL
là một giá trị đặc biệt đại diện cho sự vắng mặt của một giá trị. Ví dụ: nó không giống như một chuỗi trống hoặc số 0.
Một cột trong bảng MySQL có thể được định nghĩa là NULL
, có nghĩa là nó có thể lưu trữ NULL
các giá trị. Điều này khác với một cột được định nghĩa là NOT NULL
, có nghĩa là nó không thể lưu trữ NULL
giá trị và phải được cung cấp một giá trị khi một hàng mới được chèn vào bảng, để tránh xảy ra lỗi.
Cách kiểm tra xem một cột có NULL trong MySQL
Bây giờ, chúng ta có thể truy vấn thực tế để lọc ra tất cả NULL
các giá trị từ cột ví dụ. Để kiểm tra xem một cột có NULL
trong MySQL, bạn có thể sử dụng IS NULL
nhà điều hành:
SELECT * FROM table_name WHERE column_name IS NULL;
Điều này sẽ trả về tất cả các hàng từ table_name
giá trị ở đâu column_name
is NULL
.
Bạn cũng có thể sử dụng IS NOT NULL
nhà điều hành để kiểm tra sự khôngNULL
các giá trị:
SELECT * FROM table_name WHERE column_name IS NOT NULL;
Điều này sẽ trả về tất cả các hàng từ table_name
giá trị ở đâu column_name
không phải là NULL
.
Lưu ý: Hãy ghi nhớ rằng NULL
là một giá trị đặc biệt trong MySQL thể hiện sự vắng mặt của một giá trị. Nó không giống như một chuỗi trống hoặc số 0.
Ngoài ra, chúng tôi có thể xử lý tất cả các giá trị đặc biệt có thể thể hiện sự vắng mặt của mục nhập cột (NULL
, 0
và chuỗi trống) trong một truy vấn:
SELECT * FROM table_name WHERE column_name IS NULL OR column_name = '' OR column_name=0;
Điều này sẽ lọc tất cả các hàng từ table_name
giá trị ở đâu column_name
là một trong những điều sau: NULL
, 0
hoặc một chuỗi rỗng.
Kết luận
Tóm lại, việc kiểm tra xem một cột có rỗng trong MySQL hay không có thể được thực hiện bằng cách sử dụng IS NULL
toán tử trong một SELECT
tuyên bố. Toán tử này có thể được sử dụng trong WHERE
mệnh đề để lọc tập kết quả và chỉ trả về những hàng có cột được chỉ định NULL
.
Nó cũng có thể sử dụng IS NOT NULL
toán tử trả về các hàng không có cột NULL
. Điều quan trọng cần lưu ý là NULL
các giá trị biểu thị dữ liệu bị thiếu hoặc không xác định và chúng khác với 0 hoặc một chuỗi trống. Bằng cách sử dụng IS NULL
và IS NOT NULL
người vận hành, bạn có thể xử lý một cách hiệu quả NULL
giá trị trong truy vấn MySQL của bạn và đảm bảo rằng kết quả của bạn là chính xác và có ý nghĩa.