MySQL數(shù)據(jù)庫(kù)中null的知識(shí)點(diǎn)總結(jié)
在mysql數(shù)據(jù)庫(kù)中,null是一個(gè)經(jīng)常出現(xiàn)的情況,關(guān)于mysql中的null,有哪些注意事項(xiàng)呢?下面簡(jiǎn)單總結(jié)歸納下,后續(xù)會(huì)不斷補(bǔ)充。
1. is null
首先判斷數(shù)據(jù)庫(kù)中某一列的值是否為null,不能用等于來(lái)判斷,必須使用 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ù)庫(kù)中內(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ù)庫(kù)中內(nèi)置了 IFNULL( ) 函數(shù),其使用方法與MySQL中提供的sum()等其他內(nèi)置函數(shù)一樣。其主要接收兩個(gè)參數(shù),第一個(gè)參數(shù)是要判斷空值的字段或值,第二個(gè)字段是當(dāng)?shù)谝粋€(gè)參數(shù)是空值的情況下要替換返回的另一個(gè)值,即如果第一個(gè)字段為null,會(huì)將其替換成其他值。比如,select IFNULL(NULL, “java is the best language of the world”),由于第一個(gè)參數(shù)的值NULL,因此會(huì)輸出第二個(gè)參數(shù)的值,java is the best language of the world;同理,若第一個(gè)字段不為空,則會(huì)返回第一個(gè)字段的值。
4. insert into 與null
在使用insert into往表中灌數(shù)據(jù)的時(shí)候,需要首先明確一下表里是null,還是空,如果是null,那么就不能使用 insert into進(jìn)行灌數(shù)據(jù),必須使用 update,這一點(diǎn)看似簡(jiǎn)單,但是在實(shí)際開發(fā)中經(jīng)常容易忽略,因此需要特殊注意。
例子:
創(chuàng)建一個(gè)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)知識(shí)點(diǎn),感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
相關(guān)文章
關(guān)于com.mysql.jdbc.Driver與com.mysql.cj.jdbc.Driver的區(qū)別
這篇文章主要介紹了關(guān)于com.mysql.jdbc.Driver與com.mysql.cj.jdbc.Driver的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
MySQL 5.7.29 + Win64 解壓版 安裝教程圖文詳解
這篇文章主要介紹了MySQL 5.7.29 + Win64 解壓版 安裝教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
MySQL實(shí)現(xiàn)向表中添加多個(gè)字段 類型 注釋
這篇文章主要介紹了MySQL實(shí)現(xiàn)向表中添加多個(gè)字段 類型 注釋方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
淺析SQL語(yǔ)句行列轉(zhuǎn)換的兩種方法 case...when與pivot函數(shù)的應(yīng)用
SQL語(yǔ)句行列轉(zhuǎn)換的兩種方法 case...when和pivot函數(shù)應(yīng)用,運(yùn)用pivot 函數(shù)只支持?jǐn)?shù)據(jù)庫(kù)版本2005以上的。一般運(yùn)用case when else end 的方法比較多,比較普遍2013-08-08
解決mysql出現(xiàn)錯(cuò)誤:ERROR?1046?(3D000):No?database?selected
這篇文章主要給大家介紹了關(guān)于解決mysql出現(xiàn)錯(cuò)誤:ERROR?1046?(3D000):No?database?selected的相關(guān)資料,No database selected可以理解為沒(méi)有選擇種數(shù)據(jù)庫(kù),文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
最新版MySQL 8.0.22下載安裝超詳細(xì)教程(Windows 64位)
這篇文章主要介紹了最新版MySQL 8.0.22下載安裝超詳細(xì)教程(Windows 64位),本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12

