MySQL中is?null和=null的區(qū)別及說明
1.什么是null
MySQL 中 null 不代表任務(wù)實(shí)際的值,類似于一個(gè)未知數(shù)。
2.執(zhí)行對(duì)比
2.1 查詢條件為 =null
執(zhí)行之后,發(fā)現(xiàn)返回行數(shù)為0
2.2 查詢條件為 is null
執(zhí)行后發(fā)現(xiàn)返回行數(shù)為8
2.3 兩次查詢的為何不同
null 在MySQL中不代表任何值,通過運(yùn)算符是得不到任何結(jié)果的,因此只能用 is null(默認(rèn)情況)
2.4 使用 =null的解決方式
因?yàn)樵诜茿NSI SQL標(biāo)準(zhǔn)中,data=null等同于data is null,data<>null等同于data is not null,所以使用 =null 可以進(jìn)行以下設(shè)置:
set ANSI_NULLS OFF;
- 如果 set ANSI_NULLS為 ON 時(shí),表示SQL語句遵循SQL-92標(biāo)準(zhǔn);
- 如果 set ANSI_NULLS 為 OFF 時(shí),表示不遵從 SQL-92 標(biāo)準(zhǔn)。
但SQL-92 標(biāo)準(zhǔn)要求對(duì)null的 = 或不等于 (!= ,<>) 比較取值都為 false,也就是 =null 或者 <>null,返回的都是false。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql百萬數(shù)據(jù)表加索引優(yōu)化的方法
在大數(shù)據(jù)時(shí)代,隨著數(shù)據(jù)量的快速增長,對(duì)數(shù)據(jù)庫的索引優(yōu)化變得尤為重要,本文主要介紹了mysql百萬數(shù)據(jù)表加索引優(yōu)化的方法,感興趣的可以了解一下2024-02-02MySQL中的聚簇索引、非聚簇索引、聯(lián)合索引和唯一索引詳細(xì)介紹
本文主要介紹了MySQL的索引類型,根據(jù)索引的存儲(chǔ)方式來劃分,索引可以分為聚簇索引和非聚簇索引。聚簇索引的特點(diǎn)是葉子節(jié)點(diǎn)包含了完整的記錄行,而非聚簇索引的葉子節(jié)點(diǎn)只有所以字段和主鍵ID,感興趣的同學(xué)可以閱讀本文2023-04-04Mysql數(shù)據(jù)庫緩沖池詳解(Buffer pool)
InnoDB存儲(chǔ)引擎通過BufferPool緩存數(shù)據(jù)頁和索引頁,減少磁盤I/O,提升查詢性能,BufferPool通過預(yù)讀和checkpoint機(jī)制優(yōu)化I/O操作和數(shù)據(jù)持久化2024-12-12Navicat使用報(bào)2059錯(cuò)誤的兩種解決方案
Navicat是一款流行的數(shù)據(jù)庫管理工具,而MySQL則是其中的一種數(shù)據(jù)庫軟件,下面這篇文章主要給大家介紹了關(guān)于Navicat使用報(bào)2059錯(cuò)誤的兩種解決方案,需要的朋友可以參考下2023-11-11MySQL中存儲(chǔ)時(shí)間的最佳實(shí)踐指南
這篇文章主要給大家介紹了關(guān)于MySQL中存儲(chǔ)時(shí)間的最佳實(shí)踐,文中詳細(xì)介紹了哪種存儲(chǔ)時(shí)間的方式更好,對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-07-07免安轉(zhuǎn)MySQL服務(wù)的啟動(dòng)與停止方法
免安轉(zhuǎn)MySQL服務(wù)的啟動(dòng)與停止方法,可以不用安裝解壓以后即可執(zhí)行,對(duì)于老手推薦,新手建議用安裝版本。2011-03-03Mysql數(shù)據(jù)庫的主從復(fù)制與讀寫分離精講教程
這篇文章主要為大家詳細(xì)介紹了Mysql數(shù)據(jù)庫的主從復(fù)制與讀寫分離的示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11MySQL 查找價(jià)格最高的圖書經(jīng)銷商的幾種SQL語句
不同的圖書,在不同的經(jīng)銷商的價(jià)格不同,我們這里要找到每種圖書最高的經(jīng)銷商是誰? 找最低的類似了。2009-07-07