MySQL數(shù)據(jù)庫中null的知識點總結(jié)
在mysql數(shù)據(jù)庫中,null是一個經(jīng)常出現(xiàn)的情況,關(guān)于mysql中的null,有哪些注意事項呢?下面簡單總結(jié)歸納下,后續(xù)會不斷補充。
1. is null
首先判斷數(shù)據(jù)庫中某一列的值是否為null,不能用等于來判斷,必須使用 is。比如,select * from users where user_name is null 或者 select * from users where user_name is not null,而不能是 select * from users where user_name = null
2. ISNULL( )
MySQL數(shù)據(jù)庫中內(nèi)置了 ISNULL( ) 函數(shù),其使用方法與MySQL中提供的sum()等其他內(nèi)置函數(shù)一樣。比如,select ISNULL(user_name) from users where user_name = ‘Demrystv' 返回值是 0;select ISNULL(NULL) 返回值是1
3. IFNULL()
MySQL數(shù)據(jù)庫中內(nèi)置了 IFNULL( ) 函數(shù),其使用方法與MySQL中提供的sum()等其他內(nèi)置函數(shù)一樣。其主要接收兩個參數(shù),第一個參數(shù)是要判斷空值的字段或值,第二個字段是當?shù)谝粋€參數(shù)是空值的情況下要替換返回的另一個值,即如果第一個字段為null,會將其替換成其他值。比如,select IFNULL(NULL, “java is the best language of the world”),由于第一個參數(shù)的值NULL,因此會輸出第二個參數(shù)的值,java is the best language of the world;同理,若第一個字段不為空,則會返回第一個字段的值。
4. insert into 與null
在使用insert into往表中灌數(shù)據(jù)的時候,需要首先明確一下表里是null,還是空,如果是null,那么就不能使用 insert into進行灌數(shù)據(jù),必須使用 update,這一點看似簡單,但是在實際開發(fā)中經(jīng)常容易忽略,因此需要特殊注意。
例子:
創(chuàng)建一個test表,colA是不可以存放null值的,colB是能存放null值的。
CREATE TABLE `test` ( `colA` varchar(255) NOT NULL, `colB` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以上就是本次介紹的全部相關(guān)知識點,感謝大家的學(xué)習(xí)和對腳本之家的支持。
相關(guān)文章
mysql查詢條件not in 和 in的區(qū)別及原因說明
這篇文章主要介紹了mysql查詢條件not in 和 in的區(qū)別及原因說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01MySQL GRANT用戶授權(quán)的實現(xiàn)
授權(quán)就是為某個用戶賦予某些權(quán)限。MySQL 提供了 GRANT 語句來為用戶設(shè)置權(quán)限。具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06mysql自動化安裝腳本(ubuntu and centos64)
這篇文章主要介紹了mysql自動化安裝腳本(ubuntu and centos64),需要的朋友可以參考下2014-05-05MySQL如何使用使用Xtrabackup進行備份和恢復(fù)
Xtrabackup是由Percona開發(fā)的一個開源軟件,可實現(xiàn)對InnoDB的數(shù)據(jù)備份,支持在線熱備份(備份時不影響數(shù)據(jù)讀寫)。本文講解如何使用該工具進行備份和恢復(fù)2021-06-06