MySQL NULL 值處理
mysql null 值處理
我們使用 where 子句來查詢表中的數據時,如果查詢條件或者查詢字段中包含 null 值時,不能簡單地使用通常使用的比較運算符,而是要使用 mysql 提供的專門的運算符。
1. mysql處理 null 值運算符
- is null: 當列的值是 null,此運算符返回 true。
- is not null: 當列的值不為 null, 運算符返回 true。
- <=>:?比較操作符(不同于 = 運算符),當比較的的兩個值相等或者都為 null 時返回 true。
關于 null 的條件比較運算是比較特殊的。你不能使用 = null 或 != null 在列中查找 null 值 。
在 mysql 中,null 值與任何其它值的比較(即使是 null)永遠返回 null,即 null = null 返回 null 。
mysql 中處理 null 使用 is null 和 is not null 運算符。
2. 通過命令窗口使用 null 值
以下范例中假設數據庫 yapf 中的表 yapf_tbl 含有兩列 yapf_author 和 yapf_count, yapf_count 中設置插入null值。
mysql 范例
root@host# mysql -u root -p password;
enter password:*******
mysql> use yapf;
database changed
mysql> create table yapf_tbl
-> (
-> yapf_author varchar(40) not null,
-> yapf_count int
-> );
query ok, 0 rows affected (0.05 sec)
mysql> insert into yapf_tbl (yapf_author, yapf_count) values ('yapf', 20);
mysql> insert into yapf_tbl (yapf_author, yapf_count) values ('碩編程', null);
mysql> insert into yapf_tbl (yapf_author, yapf_count) values ('google', null);
mysql> insert into yapf_tbl (yapf_author, yapf_count) values ('fk', 20);
mysql> select * from yapf_tbl;
+---------------+--------------+
| yapf_author | yapf_count |
+---------------+--------------+
| yapf | 20 |
| 碩編程 | null |
| google | null |
| fk | 20 |
+---------------+--------------+
4 rows in set (0.01 sec)