日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
NULL與MySQL空字符串的區(qū)別

MySQL空字符串和NULL值我們都經(jīng)常會(huì)見(jiàn)到,但是這二者并不是一個(gè)概念,下面就為您介紹NULL與MySQL空字符串的區(qū)別,供您參考。

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名注冊(cè)、網(wǎng)頁(yè)空間、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。

對(duì)于SQL的新手,NULL值的概念常常會(huì)造成混淆,他們常認(rèn)為NULL與MySQL空字符串是相同的事。情況并非如此。例如,下述語(yǔ)句是完全不同的:MySQL> INSERT INTO my_table (phone) VALUES (NULL);

mysql> INSERT INTO my_table (phone) VALUES ('');  
這兩條語(yǔ)句均會(huì)將值插入phone(電話)列,但第1條語(yǔ)句插入的是NULL值,第2條語(yǔ)句插入的是空字符串。第1種情況的含義可被解釋為“電話號(hào)碼未知”,而第2種情況的含義可被解釋為“該人員沒(méi)有電話,因此沒(méi)有電話號(hào)碼”。

為了進(jìn)行NULL處理,可使用IS NULL和IS NOT NULL操作符以及IFNULL()函數(shù)。

在SQL中,NULL值與任何其它值的比較(即使是NULL)永遠(yuǎn)不會(huì)為“真”。包含NULL的表達(dá)式總是會(huì)導(dǎo)出NULL值,除非在關(guān)于操作符的文檔中以及表達(dá)式的函數(shù)中作了其他規(guī)定。下述示例中的所有列均返回NULL:mysql> SELECT NULL, 1+NULL, CONCAT('Invisible',NULL);  
如果打算搜索列值為NULL的列,不能使用expr = NULL測(cè)試。下述語(yǔ)句不返回任何行,這是因?yàn)?,?duì)于任何表達(dá)式,expr = NULL永遠(yuǎn)不為“真”: mysql> SELECT * FROM my_table WHERE phone = NULL;  
要想查找NULL值,必須使用IS NULL測(cè)試。在下面的語(yǔ)句中,介紹了查找NULL電話號(hào)碼和空電話號(hào)碼的方式:mysql> SELECT * FROM my_table WHERE phone IS NULL;

mysql> SELECT * FROM my_table WHERE phone = '';  
更多信息和示例:

如果你正在使用MyISAM、InnoDB、BDB、或MEMORY存儲(chǔ)引擎,能夠在可能具有NULL值的列上增加1條索引。如不然,必須聲明索引列為NOT NULL,而且不能將NULL插入到列中。

用LOAD DATA INFILE讀取數(shù)據(jù)時(shí),對(duì)于空的或丟失的列,將用''更新它們。如果希望在列中具有NULL值,應(yīng)在數(shù)據(jù)文件中使用\N。在某些情況下,也可以使用文字性單詞“NULL”。

使用DISTINCT、GROUP BY或ORDER BY時(shí),所有NULL值將被視為等同的。

使用ORDER BY時(shí),首先將顯示NULL值,如果指定了DESC按降序排列,NULL值將***顯示。

對(duì)于聚合(累計(jì))函數(shù),如COUNT()、MIN()和SUM(),將忽略NULL值。對(duì)此的例外是COUNT(*),它將計(jì)數(shù)行而不是單獨(dú)的列值。例如,下述語(yǔ)句產(chǎn)生兩個(gè)計(jì)數(shù)。首先計(jì)數(shù)表中的行數(shù),其次計(jì)數(shù)age列中的非NULL值數(shù)目:mysql> SELECT COUNT(*), COUNT(age) FROM person;  
對(duì)于某些列類型,MySQL將對(duì)NULL值進(jìn)行特殊處理。如果將NULL插入TIMESTAMP列,將插入當(dāng)前日期和時(shí)間。如果將NULL插入具有AUTO_INCREMENT屬性的整數(shù)列,將插入序列中的下一個(gè)編號(hào)。


網(wǎng)頁(yè)題目:NULL與MySQL空字符串的區(qū)別
文章起源:http://m.5511xx.com/article/cdjcohe.html