真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL的空值和NULL的區(qū)別是什么

這篇文章給大家分享的是有關(guān)MySQL的空值和NULL的區(qū)別是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

成都創(chuàng)新互聯(lián)主營(yíng)六合網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件定制開(kāi)發(fā),六合h5微信小程序搭建,六合網(wǎng)站營(yíng)銷(xiāo)推廣歡迎六合等地區(qū)企業(yè)咨詢(xún)

從本質(zhì)上區(qū)別:

1、空值不占空間

2、null值占空間

通俗的講:

空值就像是一個(gè)真空轉(zhuǎn)態(tài)杯子,什么都沒(méi)有,而null值就是一個(gè)裝滿(mǎn)空氣的杯子,雖然看起來(lái)都是一樣的,但是有著本質(zhì)的區(qū)別。

(推薦課程:MySQL教程)

例子:

創(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;

插入一個(gè)null值試試,會(huì)發(fā)生什么情況?

INSERT INTO `test`(`colA`, `colB`) VALUES (NULL, NULL);

//出現(xiàn)報(bào)錯(cuò),原因是colA是不能插入null值。

那么如果兩個(gè)字段同時(shí)插入空值,會(huì)怎么樣。

INSERT INTO `test`(`colA`, `colB`) VALUES ('', '');

插入成功,說(shuō)明字段即使設(shè)置為null值的時(shí)候,是可以插入空值的

MySQL的空值和NULL的區(qū)別是什么

---------------------------------------------------------------查詢(xún)---------------------------------------------------------

現(xiàn)在表里有三條數(shù)據(jù)

MySQL的空值和NULL的區(qū)別是什么

接下來(lái)我們使用 is not null 和 <> 檢索數(shù)據(jù)表里的數(shù)據(jù)

1、使用IS NOT NULL 的查詢(xún)

1 SELECT * FROM `test` WHERE colA IS NOT NULL

MySQL的空值和NULL的區(qū)別是什么

1 SELECT * FROM `test` WHERE colB IS NOT NULL

MySQL的空值和NULL的區(qū)別是什么

結(jié)論:使用 IS NOT NULL 查詢(xún)不會(huì)過(guò)濾空值,但是會(huì)過(guò)濾掉NULL。

2、使用 <> 的查詢(xún)

1 SELECT * FROM `test` WHERE colA <> '';

MySQL的空值和NULL的區(qū)別是什么

1 SELECT * FROM `test` WHERE colA <> '';

MySQL的空值和NULL的區(qū)別是什么

結(jié)論:使用 <> 會(huì)過(guò)濾掉NULL和空值。

3、使用 count 查詢(xún)

1 SELECT COUNT(colA) FROM `test`;

MySQL的空值和NULL的區(qū)別是什么

1 SELECT COUNT(colB) FROM `test`;

MySQL的空值和NULL的區(qū)別是什么

結(jié)論:使用 count 會(huì)過(guò)濾掉 NULL 值,但是不會(huì)過(guò)濾掉空值。

總結(jié)

1、空值不占空間,NULL值占空間(占用一個(gè)字節(jié))。

2、當(dāng)字段不為NULL時(shí),也可以插入空值。

3、當(dāng)使用 IS NOT NULL 或者 IS NULL 時(shí),只能查出字段中沒(méi)有不為NULL的或者為 NULL 的,不能查出空值。

4、使用 <> 查詢(xún)時(shí),會(huì)篩選掉空值和NULL值。

5、使用 count 統(tǒng)計(jì)時(shí)會(huì)過(guò)濾掉 NULL 值,但是不會(huì)過(guò)濾掉空值。

感謝各位的閱讀!關(guān)于MySQL的空值和NULL的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


網(wǎng)頁(yè)標(biāo)題:MySQL的空值和NULL的區(qū)別是什么
轉(zhuǎn)載注明:http://weahome.cn/article/ijghip.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部