MySQL中的字段可以存儲各種類型的數據,例如文本、數字、日期等等。但是,在有些情況下,我們可能需要在數據庫中存儲“沒有值”的情況,這時就需要使用NULL值。NULL表示沒有值,而不是0或者空字符串。
在MySQL中,如果一個字段沒有值,那么可以將其設置為NULL。例如,我們可以創建一個students表,其中某個學生的出生日期未知,可以這樣定義表:
CREATE TABLE students (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
birthday DATE DEFAULT NULL,
PRIMARY KEY (id)
);
在這個例子中,我們定義了一個students表,其中birthday字段默認為NULL。當我們向這個表插入數據時,如果不知道某個學生的生日,就可以使用NULL值:
INSERT INTO students (name, birthday)
VALUES ('張三', NULL);
在查詢這個表的數據時,我們可以使用IS NULL或IS NOT NULL謂詞來過濾NULL值:
SELECT *
FROM students
WHERE birthday IS NULL;
這將返回所有birthday字段為空的學生數據。
在MySQL中,也可以使用IFNULL函數來處理NULL值。IFNULL函數接受兩個參數,如果第一個參數為NULL,那么返回第二個參數,否則返回第一個參數。例如:
SELECT name, IFNULL(birthday, '未知')
FROM students;
這將返回一張學生表,其中的birthday字段為空的學生使用字符串“未知”代替。
下一篇mysql中字段加1