亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL中對于NULL值的理解和使用教程

2024-07-24 13:08:32
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL中對于NULL值的理解和使用教程,是MySQL入門學習中的基礎知識,需要的朋友可以參考下
 

NULL值的概念是造成SQL的新手的混淆的普遍原因,他們經常認為NULL是和一個空字符串''的一樣的東西。不是這樣的!例如,下列語句是完全不同的: 

mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES ("");

兩個語句把值插入到phone列,但是第一個插入一個NULL值而第二個插入一個空字符串。第一個的含義可以認為是“電話號碼不知道”,而第二個則可意味著“她沒有電話”。

在SQL中,NULL值在于任何其他值甚至NULL值比較時總是假的(FALSE)。包含NULL的一個表達式總是產生一個NULL值,除非在包含在表達式中的運算符和函數的文檔中指出。在下列例子,所有的列返回NULL:

mysql> SELECT NULL,1+NULL,CONCAT('Invisible',NULL);

如果你想要尋找值是NULL的列,你不能使用=NULL測試。下列語句不返回任何行,因為對任何表達式,expr = NULL是假的:

mysql> SELECT * FROM my_table WHERE phone = NULL;

要想尋找NULL值,你必須使用IS NULL測試。下例顯示如何找出NULL電話號碼和空的電話號碼:

mysql> SELECT * FROM my_table WHERE phone IS NULL; mysql> SELECT * FROM my_table WHERE phone = "";

在MySQL中,就像很多其他的SQL服務器一樣,你不能索引可以有NULL值的列。你必須聲明這樣的列為NOT NULL,而且,你不能插入NULL到索引的列中。

當用LOAD DATA INFILE讀取數據時,空列用''更新。如果你想要在一個列中有NULL值,你應該在文本文件中使用/N。字面上的詞'NULL'也可以在某些情形下使用。

當使用ORDER BY時,首先呈現NULL值。如果你用DESC以降序排序,NULL值最后顯示。當使用GROUP BY時,所有的NULL值被認為是相等的。

為了有助于NULL的處理,你能使用IS NULL和IS NOT NULL運算符和IFNULL()函數。

MySQL的 IFNULL() 函數和Oracle的 NVL() 函數功能類似。以下簡單舉例:
IFNULL(expr1, expr2) 
如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。IFNULL()返回一個數字或字符串值,取決于它被使用的上下文環境。 

mysql> select IFNULL(1,0);     -> 1 mysql> select IFNULL(0,10);     -> 0 mysql> select IFNULL(1/0,10);     -> 10 mysql> select IFNULL(1/0,'yes');     -> 'yes' NVL( string1, replace_with)

功能:如果string1為NULL,則NVL函數返回replace_with的值,否則返回string1的值。
引申一下,此NVL的作用與SQLserver 中的 ISNULL( string1, replace_with) 一樣。
注意事項:string1和replace_with必須為同一數據類型,除非顯式的使用TO_CHAR函數。
例:

NVL(TO_CHAR(numeric_column), 'some string')

其中numeric_column代指某個數字類型的值。
例:

nvl(yanlei777,0) > 0

NVL(yanlei777, 0) 的意思是 如果 yanlei777 是NULL,則取 0值

null與空值的辨析
來看這樣一段代碼:

CREATE TABLE `test` (`col1` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`col2` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL) ENGINE = MYISAM ;

錯誤(不可以插入null值):

INSERT INTO `test` VALUES (null,1);

正確(插入''沒問題):

INSERT INTO `test` VALUES ('',1);INSERT INTO `test` VALUES ('', NULL);INSERT INTO `test` VALUES ('1', '2');

檢索(''不是null,所以not null會把''都算進去):

SELECT * FROM `test` WHERE col1 IS NOT NULL

結果:所有三條數據

檢索(正常檢索):

SELECT * FROM `test` WHERE col1 <> ''

結果:最后一條數據

檢索(<>'',會同時排除''和null的數據,只檢索有內容的數據):

SELECT * FROM `test` WHERE col2<>''

總結:
1. null的存儲不是'',是其它特殊的字符表示。
2. null在檢索<>''的時候,也會被排除,因為沒有真正有意義的內容
3. not null嚴格按照字面意思,''不會被排除。
4. 定義not null的字段,可以插入''



注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美亚洲一二三区| 欧美性猛交xxxx| 国产一级揄自揄精品视频| 欧美性猛交xxxx乱大交3| 亚洲图片在区色| 日韩欧美成人精品| 亚洲精品日韩久久久| 久久亚洲精品成人| 亚洲最大福利视频| 5252色成人免费视频| 欧美巨大黑人极品精男| 欧美大片va欧美在线播放| 久久伊人精品视频| 欧美精品手机在线| www.久久撸.com| 国产精品美女视频网站| 91av视频在线播放| 日韩视频第一页| 日韩二区三区在线| 国产精品久久久久久久久久99| 青青久久aⅴ北条麻妃| 视频一区视频二区国产精品| 亚洲天堂av高清| 日韩免费在线免费观看| 亚洲自拍小视频免费观看| 日韩av在线网站| 午夜精品一区二区三区视频免费看| 美女视频久久黄| 精品国内亚洲在观看18黄| 日韩欧美成人网| 欧美国产视频一区二区| 国产精品第七影院| 欧美日韩精品中文字幕| 在线观看亚洲视频| 亚洲成av人影院在线观看| 国产精品久久久久久久久久久久| 中文字幕亚洲欧美日韩2019| 亚洲a一级视频| 久久久久北条麻妃免费看| 国产精品99免视看9| 成人免费视频xnxx.com| 国产精品一区二区三区毛片淫片| 欧美韩国理论所午夜片917电影| 亚洲免费一级电影| 国产一区二区欧美日韩| 日韩高清电影免费观看完整版| 国产精品久久久久久久久久尿| 成人xxxx视频| 国产亚洲精品久久久久久牛牛| 日本韩国欧美精品大片卡二| 国产va免费精品高清在线观看| 国产日韩av高清| 欧美精品videos另类日本| 久久九九亚洲综合| 亚洲第一综合天堂另类专| 日韩在线视频中文字幕| 视频在线观看99| 国产精品www色诱视频| 2018日韩中文字幕| 国产在线播放不卡| 最近更新的2019中文字幕| 亚洲精品国精品久久99热一| 日本免费久久高清视频| 国产精品一区二区三| 亚洲欧美激情视频| 国产精品青草久久久久福利99| 日韩在线观看免费| 国产一区二区三区在线播放免费观看| 尤物精品国产第一福利三区| 国产精品一二区| 久久精品青青大伊人av| 亚洲欧美三级伦理| 国产成人精品最新| 精品久久久久久中文字幕大豆网| 欧美中文字幕视频| 日韩女优人人人人射在线视频| 中文字幕av一区二区三区谷原希美| 欧美一区亚洲一区| 成人av在线网址| 久久中文字幕视频| 91在线网站视频| 亚洲专区国产精品| 亚洲人成亚洲人成在线观看| 欧美日韩免费区域视频在线观看| 热久久视久久精品18亚洲精品| 69av成年福利视频| 国产精品欧美风情| 亚洲精品成人久久| 久久好看免费视频| 亚洲一区二区国产| 国产精品99久久久久久www| 国产视频精品xxxx| 欧美激情极品视频| 欧美日韩国产精品一区二区不卡中文| 久久久免费电影| 亚洲成人久久电影| 日本高清久久天堂| 国产小视频91| 欧美日韩电影在线观看| 97人人爽人人喊人人模波多| 久久夜色精品国产亚洲aⅴ| 欧美午夜片欧美片在线观看| 自拍偷拍亚洲区| 福利视频导航一区| 欧美第一淫aaasss性| 国产欧美精品在线播放| 色悠悠国产精品| 欧美一级片一区| 亚洲wwwav| 91在线免费视频| 在线电影中文日韩| 91tv亚洲精品香蕉国产一区7ujn| 久久91精品国产91久久久| 日韩av手机在线观看| 久久亚洲欧美日韩精品专区| 国产欧美日韩91| 久久99精品久久久久久琪琪| 欧美日韩一区二区免费视频| 久久精品一偷一偷国产| 97超碰蝌蚪网人人做人人爽| 亚洲男人天堂九九视频| 欧美片一区二区三区| 精品香蕉在线观看视频一| 中文字幕av一区| 在线激情影院一区| 91久久精品美女| 国产欧美精品一区二区三区-老狼| 亚洲欧美成人在线| 国产日韩欧美自拍| 亚洲国产成人91精品| 久久九九全国免费精品观看| 日韩精品中文字幕视频在线| 日韩在线观看免费网站| 日韩欧美在线一区| 国内精品美女av在线播放| 色偷偷888欧美精品久久久| 国产精品久久久久7777婷婷| 91免费国产网站| 日韩欧美精品网址| 成人黄色网免费| 精品国产区一区二区三区在线观看| 深夜福利亚洲导航| 亚洲精品自拍第一页| 国内精品久久久久久久久| 国产一区二区日韩精品欧美精品| 久久韩国免费视频| 亚洲自拍偷拍福利| 亚洲欧美日韩天堂一区二区| 黑人狂躁日本妞一区二区三区| 怡红院精品视频| 国产精品视频在线观看| 亚洲精品之草原avav久久| 亚洲a在线观看| 久久久久国产精品免费网站| 亚洲一区二区三区久久| 丝袜美腿亚洲一区二区| 国产精品一区二区在线| 日韩在线视频线视频免费网站| 成人欧美一区二区三区黑人| 欧美有码在线观看视频| 久久精品国产亚洲精品| 中文一区二区视频| 亚洲性日韩精品一区二区| 亚洲自拍偷拍福利|