Mysql中的NULL和Empty String
最近新接觸Mysql,昨天新建一個表用于存儲表結(jié)構(gòu)信息:
create table tablist(TABLE_SCHEMA varchar(40),TABLE_NAME varchar(40),COLUMN_NAME varchar(40),COLUMN_TYPE varchar(40), IS_NULLABLE varchar(10),COLUMN_DEFAULT varchar(40),COLUMN_COMMENT varchar(1000),REMARK varchar(2000)); insert into tablist(TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,COLUMN_COMMENT) select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,COLUMN_COMMENT from information_schema.`COLUMNS` where TABLE_SCHEMA='leo';
然后查詢tablist表:
看看有哪些列沒有comment于是:
select * from tablist where COLUMN_COMMENT is null;
查到的結(jié)果居然是Empty set。不過從以上查詢結(jié)果和navicat都能看出:null值在結(jié)果集中顯示的是'null'的單詞,而空字符串則顯示為空。
查過資料后發(fā)現(xiàn)Mysql的null值和空字符串是有區(qū)別的,這里很奇怪COLUMN_COMMENT在經(jīng)過insert之后,null值居然變成了空字符串(原因未明)。
使用select * from tablist where COLUMN_COMMENT='';
查詢正常。
NULL columns require additional space in the row to record whether their values are NULL.For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byte.
在Mysql的myisam引擎中,null值占用額外的存儲空間(1bit),空字符串則完全不占用空間。同時null值在B樹索引中也無法被存儲,數(shù)據(jù)量大時會造成較嚴(yán)重的性能問題。
兩者的查詢方式也不一樣:null值查詢使用is null/is not null查詢,而empty string使用=或者!=查詢即可。
總結(jié)
以上所述是小編給大家介紹的Mysql中的NULL和Empty String,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
mysql中刪除數(shù)據(jù)的幾種方法(最新推薦)
在MySQL數(shù)據(jù)庫中,刪除數(shù)據(jù)是一個常見的操作,它允許從表中移除不再需要的數(shù)據(jù),在執(zhí)行刪除操作時,需要謹(jǐn)慎,以免誤刪重要數(shù)據(jù),本文給大家介紹mysql中刪除數(shù)據(jù)的幾種方法,感興趣的朋友一起看看吧2023-11-11使用Rotate Master實現(xiàn)MySQL 多主復(fù)制的實現(xiàn)方法
眾所周知,MySQL只支持一對多的主從復(fù)制,而不支持多主(multi-master)復(fù)制2012-05-05MySQL優(yōu)化表時提示 Table is already up to date的解決方法
這篇文章主要介紹了MySQL優(yōu)化表時提示 Table is already up to date的解決方法,需要的朋友可以參考下2016-11-11MySQL數(shù)據(jù)庫維護(hù)中監(jiān)控所用到的常用命令
這篇文章主要介紹額MySQL監(jiān)控時常用的的幾個MySQL命令,需要的朋友可以收藏下2013-08-08MYSQL時區(qū)導(dǎo)致時間差了14或13小時的解決方法
本文主要介紹了MYSQL時區(qū)導(dǎo)致時間差了14或13小時的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01簡單了解標(biāo)準(zhǔn)SQL的update語句三種用法
這篇文章主要介紹了簡單了解標(biāo)準(zhǔn)SQL的update語句三種用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下2019-06-06