MySQL中的null值是指一個列沒有值,即空值。一般情況下,我們很少會將null作為一個實際的值去存儲,但是它也是一種很常見的情況,常常用于標識某些信息缺失的狀態。
CREATE TABLE users ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50), age INT(2), birth_date DATE, PRIMARY KEY (id) );
在上面的例子中,我們定義了一個用戶表,其中有name、age和birth_date三個字段。如果我們創建一條用戶記錄時,不填寫這三個字段中的任意一個,那么這個字段就會默認為null值。
那么,如何確定一個字段是否為null值呢?我們可以使用IS NULL和IS NOT NULL進行判斷:
SELECT * FROM users WHERE name IS NULL; SELECT * FROM users WHERE age IS NOT NULL;
上面的語句將分別返回所有name為null或age不為null的記錄。
如果在查詢中需要對null值進行特殊的處理,我們可以使用IFNULL函數:
SELECT IFNULL(age, '未知') AS age FROM users;
上面的語句將返回所有用戶的年齡字段,如果該字段為null,則返回'未知'。