你還不知道mysql中空值和null值的區別嗎?

2021-10-14 18:31:41 字數 1787 閱讀 1509

create table test (cola varchar(10) not null,colb varchar(10) null);
插入cola為null的資料

insert into test values (null,1);
此時會報錯,因為cola列不能為null。

插入colb為null的資料

insert into test values (1,null);
發現插入成功。

插入都為空的資料

插入cola為空的資料

發現向cola一列插入空值成功,而colb列既可以插入空值,也可以插入null值。

總結一下,定義為not null的字段只能插入空值,不能插入null值,而null欄位可以插入空值,也可以插入null值。

插入都不為空的資料

可以發現 is not null 只會過濾為null值的列,而<>會同時過濾空值和null值,所以要根據實際情況選擇過濾方式。

另外,判斷null值只能用 is null 或 is not null ,不能用 = 或 <>。

1、在進行count()統計某列的記錄數的時候,如果採用的null值,會別系統自動忽略掉,但是空值是會進行統計到其中的。

2、判斷null 用is null 或者 is not null,sql 語句函式中可以使用ifnull()函式來進行處理,判斷空字元用 = 或者 <> 來進行處理

3、對於mysql特殊的注意事項,對於timestamp資料型別,如果往這個資料型別插入的列插入null值,則出現的值是當前系統時間。插入空值,則會出現 『0000-00-00 00:00:00』

4、對於空值的判斷到底是使用is null 還是 = 要根據實際業務來進行區分。

5、當使用order by時,首先呈現null值。如果你用desc以降序排序,null值最後顯示。當使用group by時,所有的null值被認為是相等的,故只顯示一行。

你還不知道mysql中空值和null值的區別嗎?

create table test cola varchar 10 not null,colb varchar 10 null 插入cola為null的資料insert into test values null,1 此時會報錯,因為cola列不能為null。插入colb為null的資料 inser...

你還不知道大資料?

背景 12月份有的同學參加了新工聯盟一級的測評考試,一級的內容主要是包括一些計算機基礎 大資料基本知識 資料操作和處理 資料分析方法和資料視覺化方法,今天就簡單分享其中一部分內容 持續更新 一 大資料定義 定義 對於 大資料 big data 研究機構gartner給出了這樣的定義。它是需要新處理模...

你不知道的 和

開發中,編寫有一定逼格的 是每個程式猿都追求的。經常用來判斷的符號 和 也經常用來定義變數哦,你知道嗎?邏輯與 在有乙個運算元不是布林值的情況下,就不一定返回布林值。比如以下情況 1 第乙個運算元是物件,返回第二個數 var myinfo console.log myinfo 2 輸出22 第二個運...