婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 區(qū)分MySQL中的空值(null)和空字符('')

區(qū)分MySQL中的空值(null)和空字符('')

熱門標簽:申請400電話電話價格 咸陽防封電銷卡 宜賓全自動外呼系統(tǒng)廠家 地圖標注客戶付款 許昌外呼增值業(yè)務(wù)線路 新鄉(xiāng)智能外呼系統(tǒng)好處 廣東400企業(yè)電話申請流程 石家莊400電話辦理公司 臨沂做地圖標注

日常開發(fā)中,一般都會涉及到數(shù)據(jù)庫增刪改查,那么不可避免會遇到Mysql中的NULL和空字符。
空字符('')和空值(null)表面上看都是空,其實存在一些差異:

定義:

  • 空值(NULL)的長度是NULL,不確定占用了多少存儲空間,但是占用存儲空間的
  • 空字符串('')的長度是0,是不占用空間的

通俗的講:

空字符串('')就像是一個真空轉(zhuǎn)態(tài)杯子,什么都沒有。
空值(NULL)就像是一個裝滿空氣的杯子,含有東西。
二者雖然看起來都是空的、透明的,但是有著本質(zhì)的區(qū)別。

區(qū)別:

  1. 在進行count()統(tǒng)計某列時候,如果用null值系統(tǒng)會自動忽略掉,但是空字符會進行統(tǒng)計。不過count(*)會被優(yōu)化,直接返回總行數(shù),包括null值。
  2. 判斷null用is nullis not null,SQL可以使用ifnull()函數(shù)進行處理;判斷空字符用=''或者!=''進行處理。
  3. 對于timestamp數(shù)據(jù)類型,插入null值會是當前系統(tǒng)時間;插入空字符,則出現(xiàn)0000-00-00 00:00:00

實例:

  • 新建一張表test_ab,并插入4行數(shù)據(jù)。
CREATE TABLE test_ab (id int,
	col_a varchar(128),
	col_b varchar(128) not null
);

insert test_ab(id,col_a,col_b) values(1,1,1);
insert test_ab(id,col_a,col_b) values(2,'','');
insert test_ab(id,col_a,col_b) values(3,null,'');
insert test_ab(id,col_a,col_b) values(4,null,1);

mysql> select * from test_ab;
+------+-------+-------+
| id  | col_a | col_b |
+------+-------+-------+
|  1 | 1   | 1   |
|  2 |    |    |
|  3 | NULL |    |
|  4 | NULL | 1   |
+------+-------+-------+
4 rows in set (0.00 sec)
  • 首先比較一下,空字符('')和空值(null)查詢方式的不同:
mysql> select * from test_ab where col_a = '';
+------+-------+-------+
| id  | col_a | col_b |
+------+-------+-------+
|  2 |    |    |
+------+-------+-------+
1 row in set (0.00 sec)

mysql> select * from test_ab where col_a is null;
+------+-------+-------+
| id  | col_a | col_b |
+------+-------+-------+
|  3 | NULL |    |
|  4 | NULL | 1   |
+------+-------+-------+
2 rows in set (0.00 sec)

由此可見,null''的查詢方式不同。而且比較字符 ‘=''>' ‘' ‘>'不能用于查詢null,
如果需要查詢空值(null),需使用is null 和is not null。

  • 第二種比較,參與運算
mysql> select col_a+1 from test_ab where id = 4;
+---------+
| col_a+1 |
+---------+
|  NULL |
+---------+
1 row in set (0.00 sec)

mysql> select col_b+1 from test_ab where id = 4;
+---------+
| col_b+1 |
+---------+
|    2 |
+---------+
1 row in set (0.00 sec)

由此可見,空值(null)不能參與任何計算,因為空值參與任何計算都為空。
所以,當程序業(yè)務(wù)中存在計算的時候,需要特別注意。
如果非要參與計算,需使用ifnull函數(shù),將null轉(zhuǎn)換為''才能正常計算。

  • 第三種比較,統(tǒng)計數(shù)量
mysql> select count(col_a) from test_ab;
+--------------+
| count(col_a) |
+--------------+
|      2 |
+--------------+
1 row in set (0.00 sec)

mysql> select count(col_b) from test_ab;
+--------------+
| count(col_b) |
+--------------+
|      4 |
+--------------+
1 row in set (0.00 sec)

由此可見,當統(tǒng)計數(shù)量的時候。空值(null)并不會被當成有效值去統(tǒng)計。
同理,sum()求和的時候,null也不會被統(tǒng)計進來,這樣就能理解,
為什么null計算的時候結(jié)果為空,而sum()求和的時候結(jié)果正常了。

結(jié)論:

所以在設(shè)置默認值的時候,盡量不要用null當默認值,如果字段是int類型,默認為0;如果是varchar類型,默認值用空字符串('')會更好一些。帶有null的默認值還是可以走索引的,只是會影響效率。當然,如果確認該字段不會用到索引的話,也是可以設(shè)置為null的。

在設(shè)置字段的時候,可以給字段設(shè)置為 not null ,因為 not null 這個概念和默認值是不沖突的。我們在設(shè)置默認值為('')的時候,雖然避免了null的情況,但是可能存在直接給字段賦值為null,這樣數(shù)據(jù)庫中還是會出現(xiàn)null的情況,所以強烈建議都給字段加上 not null。

類似這樣的:

mysql> alter table test_ab modify `col_b` varchar(128) NOT NULL DEFAULT '';
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc test_ab;
+-------+--------------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id  | int     | YES |   | NULL  |    |
| col_a | varchar(128) | YES |   | NULL  |    |
| col_b | varchar(128) | NO  |   |     |    |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

盡管在存儲空間上,在索引性能上可能并不比空字符差,但是為了避免其身上特殊性,給項目帶來不確定因素,因此建議默認值不要使用 NULL。

以上就是區(qū)分MySQL中的空值(null)和空字符('')的詳細內(nèi)容,更多關(guān)于MySQL 空值和空字符的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 為什么mysql字段要使用NOT NULL
  • MySQL中關(guān)于null值的一個小問題
  • MySQL null的一些易錯點
  • MySQL null與not null和null與空值''''''''的區(qū)別詳解
  • MySQL IFNULL判空問題解決方案
  • 詳解mysql不等于null和等于null的寫法
  • Mysql NULL導(dǎo)致的神坑
  • mysql中null(IFNULL,COALESCE和NULLIF)相關(guān)知識點總結(jié)
  • 詳解mysql三值邏輯與NULL

標簽:合肥 阜新 鎮(zhèn)江 臺灣 鷹潭 北京 貴州 日照

巨人網(wǎng)絡(luò)通訊聲明:本文標題《區(qū)分MySQL中的空值(null)和空字符('')》,本文關(guān)鍵詞  區(qū)分,MySQL,中的,空值,null,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《區(qū)分MySQL中的空值(null)和空字符('')》相關(guān)的同類信息!
  • 本頁收集關(guān)于區(qū)分MySQL中的空值(null)和空字符('')的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区在线视频免费| 7777精品伊人久久久大香线蕉经典版下载 | 精品久久久久久久人人人人传媒| 久久九九99视频| 一区二区理论电影在线观看| 91影视在线播放| 欧美精品一区二区三区高清aⅴ| 精品三级av在线| 老司机精品视频线观看86| 在线精品视频免费播放| 亚洲人精品午夜| 国产91丝袜在线播放九色| 97精品久久久午夜一区二区三区 | 日韩欧美在线不卡| 亚洲一区二区三区四区在线| 成人激情黄色小说| 欧美成人一区二区三区在线观看| 久久综合九色综合欧美就去吻| 日日骚欧美日韩| 91影院在线观看| 日韩毛片在线免费观看| 粉嫩av一区二区三区粉嫩| 日韩精品在线一区二区| 日本vs亚洲vs韩国一区三区二区 | 91麻豆精品国产91久久久使用方法 | 亚洲国产一区二区在线播放| 东方aⅴ免费观看久久av| 欧美吻胸吃奶大尺度电影| 伊人色综合久久天天| 99在线精品观看| 91猫先生在线| 亚洲欧美一区二区三区久本道91 | 国产精品女主播av| 国产一区二区三区免费在线观看| 色综合咪咪久久| 亚洲电影中文字幕在线观看| 国产乱子伦视频一区二区三区 | 欧美xxx久久| 国产在线不卡一区| 国产亚洲一区二区三区在线观看| 奇米影视7777精品一区二区| 欧美性色综合网| 欧美亚洲免费在线一区| 日韩一区在线免费观看| 色综合久久综合网欧美综合网| 中文字幕一区二区三区精华液| 色哟哟日韩精品| 亚洲国产精品欧美一二99| 极品少妇xxxx精品少妇| 久久蜜臀精品av| 大美女一区二区三区| 亚洲欧美经典视频| 欧美三级蜜桃2在线观看| 亚洲成人自拍偷拍| 精品久久久久久无| 成人成人成人在线视频| 亚洲制服丝袜av| 欧美日韩国产不卡| 久久国产综合精品| 日韩电影在线免费| 免费观看日韩电影| 成人国产免费视频| 在线免费亚洲电影| 日日嗨av一区二区三区四区| 国产午夜亚洲精品午夜鲁丝片| 国产一区二区导航在线播放| 欧美久久一二区| 国产精品高潮久久久久无| 色哟哟一区二区在线观看| 日本成人中文字幕在线视频| 欧美一区二区三区性视频| 另类成人小视频在线| 亚洲男人的天堂在线aⅴ视频| 欧美日韩国产另类不卡| 狠狠色综合播放一区二区| 亚洲国产精品一区二区久久| 蜜臀精品一区二区三区在线观看| 日韩免费高清av| 欧美日韩在线精品一区二区三区激情 | 中文字幕一区二区三区视频 | 精品久久99ma| 99久久精品国产麻豆演员表| 日韩成人av影视| 国产女人aaa级久久久级| 91久久精品网| 成人免费视频视频| 日韩在线卡一卡二| 亚洲精品五月天| 欧美日韩精品一区二区三区四区 | 99re在线精品| 欧美人狂配大交3d怪物一区| 午夜视频一区在线观看| 国产日韩欧美精品在线| 91麻豆免费看片| jiyouzz国产精品久久| 日本aⅴ精品一区二区三区| 国产福利精品一区二区| 喷水一区二区三区| 亚洲国产精品精华液ab| 精品美女一区二区| 欧美性色综合网| 天天影视色香欲综合网老头| 一区二区三区四区中文字幕| 成人av动漫网站| 日韩极品在线观看| 5月丁香婷婷综合| 国产一区二区福利视频| 黄色资源网久久资源365| 一区二区三区中文在线| 久久色视频免费观看| 欧美夫妻性生活| 91久久久免费一区二区| 欧美在线小视频| 国产成人亚洲精品狼色在线| 亚洲激情av在线| 中文字幕一区二区三区四区| 26uuu久久天堂性欧美| 精品视频在线看| 在线观看免费视频综合| 色综合久久99| 国产69精品久久99不卡| 国产精品综合一区二区三区| 国产精品美女视频| 色94色欧美sute亚洲13| 亚洲精品久久嫩草网站秘色| 国产精品人成在线观看免费| 亚洲猫色日本管| 中文字幕国产精品一区二区| 国产精品毛片无遮挡高清| 国产日韩欧美麻豆| 中文字幕在线一区免费| 国产色婷婷亚洲99精品小说| 欧美日韩在线直播| 欧美一区二区视频在线观看2022| 国产成a人亚洲精| 在线观看网站黄不卡| 91日韩在线专区| 99精品黄色片免费大全| 欧美在线影院一区二区| 91豆麻精品91久久久久久| 欧美高清视频一二三区| 欧美精品在线观看一区二区| 国内精品在线播放| 国产乱人伦偷精品视频不卡 | 91亚洲精品久久久蜜桃网站| av中文字幕一区| 欧美一级xxx| 久久久久久久久久久久久久久99 | 国产精品的网站| www.日韩av| 韩国v欧美v亚洲v日本v| 日韩美女啊v在线免费观看| 亚洲国产日日夜夜| 亚洲一二三区视频在线观看| 国产原创一区二区| 懂色av中文一区二区三区| 欧美自拍丝袜亚洲| 日韩亚洲欧美高清| 国产网站一区二区三区| 亚洲在线一区二区三区| 美女视频黄免费的久久| 亚洲欧美电影院| 天堂av在线一区| 国产乱码精品一区二区三区五月婷| 91丝袜美女网| 5月丁香婷婷综合| 国产传媒一区在线| 韩国三级电影一区二区| 中文字幕一区二区三区四区| 欧美国产综合色视频| 亚洲另类在线视频| 国产精品一级片| 在线观看一区不卡| 亚洲欧洲精品天堂一级| 爽好久久久欧美精品| 色综合天天性综合| 日韩美女视频在线| 日韩精品一级二级| 成人三级伦理片| www.日本不卡| 日韩欧美在线观看一区二区三区| 日韩一区二区免费电影| 国产精品视频一二三区| 亚洲超丰满肉感bbw| 一本大道久久a久久综合| 精品国产免费视频| 精品一区二区三区免费观看| 色视频成人在线观看免| 久久久精品中文字幕麻豆发布| 亚洲免费av观看| 国产成人啪免费观看软件| 欧美美女一区二区三区| 亚洲丝袜精品丝袜在线| 黄色资源网久久资源365| 56国语精品自产拍在线观看| 久久亚洲精品小早川怜子| 亚洲va天堂va国产va久| 99riav久久精品riav| 国产精品久久久久一区二区三区 | 色又黄又爽网站www久久|