MySQL中is?null和=null的區(qū)別及說明
1.什么是null
MySQL 中 null 不代表任務實際的值,類似于一個未知數(shù)。
2.執(zhí)行對比
2.1 查詢條件為 =null
執(zhí)行之后,發(fā)現(xiàn)返回行數(shù)為0
2.2 查詢條件為 is null
執(zhí)行后發(fā)現(xiàn)返回行數(shù)為8
2.3 兩次查詢的為何不同
null 在MySQL中不代表任何值,通過運算符是得不到任何結果的,因此只能用 is null(默認情況)
2.4 使用 =null的解決方式
因為在非ANSI SQL標準中,data=null等同于data is null,data<>null等同于data is not null,所以使用 =null 可以進行以下設置:
set ANSI_NULLS OFF;
- 如果 set ANSI_NULLS為 ON 時,表示SQL語句遵循SQL-92標準;
- 如果 set ANSI_NULLS 為 OFF 時,表示不遵從 SQL-92 標準。
但SQL-92 標準要求對null的 = 或不等于 (!= ,<>) 比較取值都為 false,也就是 =null 或者 <>null,返回的都是false。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
mysql百萬數(shù)據(jù)表加索引優(yōu)化的方法
在大數(shù)據(jù)時代,隨著數(shù)據(jù)量的快速增長,對數(shù)據(jù)庫的索引優(yōu)化變得尤為重要,本文主要介紹了mysql百萬數(shù)據(jù)表加索引優(yōu)化的方法,感興趣的可以了解一下2024-02-02MySQL中的聚簇索引、非聚簇索引、聯(lián)合索引和唯一索引詳細介紹
本文主要介紹了MySQL的索引類型,根據(jù)索引的存儲方式來劃分,索引可以分為聚簇索引和非聚簇索引。聚簇索引的特點是葉子節(jié)點包含了完整的記錄行,而非聚簇索引的葉子節(jié)點只有所以字段和主鍵ID,感興趣的同學可以閱讀本文2023-04-04Mysql數(shù)據(jù)庫緩沖池詳解(Buffer pool)
InnoDB存儲引擎通過BufferPool緩存數(shù)據(jù)頁和索引頁,減少磁盤I/O,提升查詢性能,BufferPool通過預讀和checkpoint機制優(yōu)化I/O操作和數(shù)據(jù)持久化2024-12-12Mysql數(shù)據(jù)庫的主從復制與讀寫分離精講教程
這篇文章主要為大家詳細介紹了Mysql數(shù)據(jù)庫的主從復制與讀寫分離的示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-11-11