Đối với NULL, có hai thuộc tính trong MySQL -
- LÀ KHÔNG ĐẦY ĐỦ
- KHÔNG ĐẦY ĐỦ.
Để hiểu khái niệm trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -
mysql> create table NULL_Demo -> ( -> UserId int, -> UserName varchar(20), -> UserAddress varchar(20) -> ); Query OK, 0 rows affected (0.67 sec)
Ví dụ
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> insert into NULL_Demo values(12345,'John',NULL); Query OK, 1 row affected (0.16 sec) mysql> insert into NULL_Demo values(2345,'Carol','UK'); Query OK, 1 row affected (0.35 sec) mysql> insert into NULL_Demo values(233444,NULL,NULL); Query OK, 1 row affected (0.60 sec) mysql> insert into NULL_Demo values(NULL,NULL,NULL); Query OK, 1 row affected (0.27 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from NULL_Demo;
Đầu ra
+--------+----------+-------------+ | UserId | UserName | UserAddress | +--------+----------+-------------+ | 12345 | John | NULL | | 2345 | Carol | UK | | 233444 | NULL | NULL | | NULL | NULL | NULL | +--------+----------+-------------+ 4 rows in set (0.00 sec)
Dưới đây là các truy vấn hoạt động cho thuộc tính IS NULL và IS NOT NULL.
Trường hợp 1 - KHÔNG ĐẦY ĐỦ
Truy vấn như sau -
mysql> select *from NULL_Demo where UserId = 2345 AND UserName = 'Carol' AND UserAddress IS NOT NULL;
Sau đây là kết quả hiển thị bản ghi NOT NULL theo điều kiện đặt trong truy vấn ở trên -
+--------+----------+-------------+ | UserId | UserName | UserAddress | +--------+----------+-------------+ | 2345 | Carol | UK | +--------+----------+-------------+ 1 row in set (0.00 sec)
Trường hợp 2 - KHÔNG ĐẦY ĐỦ
Truy vấn như sau -
mysql> select *from NULL_Demo where UserName = 'John' AND UserAddress IS NULL;
Sau đây là đầu ra hiển thị bản ghi NULL theo điều kiện đặt trong truy vấn trên -
+--------+----------+-------------+ | UserId | UserName | UserAddress | +--------+----------+-------------+ | 12345 | John | NULL | +--------+----------+-------------+ 1 row in set (0.00 sec)