MySQL中is null和=null的区别及说明

 更新时间:2024年07月15日 16:48:25   作者:lvhui321  
这篇文章主要介绍了MySQL中is null和=null的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1.什么是null

MySQL 中 null 不代表任务实际的值,类似于一个未知数。

2.执行对比

2.1 查询条件为 =null

执行之后,发现返回行数为0

2.2 查询条件为 is null

执行后发现返回行数为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百万数据表加索引优化的方法

    mysql百万数据表加索引优化的方法

    在大数据时代,随着数据量的快速增长,对数据库的索引优化变得尤为重要,本文主要介绍了mysql百万数据表加索引优化的方法,感兴趣的可以了解一下
    2024-02-02
  • MySQL中的聚簇索引、非聚簇索引、联合索引和唯一索引详细介绍

    MySQL中的聚簇索引、非聚簇索引、联合索引和唯一索引详细介绍

    本文主要介绍了MySQL的索引类型,根据索引的存储方式来划分,索引可以分为聚簇索引和非聚簇索引。聚簇索引的特点是叶子节点包含了完整的记录行,而非聚簇索引的叶子节点只有所以字段和主键ID,感兴趣的同学可以阅读本文
    2023-04-04
  • Mysql数据库缓冲池详解(Buffer pool)

    Mysql数据库缓冲池详解(Buffer pool)

    InnoDB存储引擎通过BufferPool缓存数据页和索引页,减少磁盘I/O,提升查询性能,BufferPool通过预读和checkpoint机制优化I/O操作和数据持久化
    2024-12-12
  • Navicat使用报2059错误的两种解决方案

    Navicat使用报2059错误的两种解决方案

    Navicat是一款流行的数据库管理工具,而MySQL则是其中的一种数据库软件,下面这篇文章主要给大家介绍了关于Navicat使用报2059错误的两种解决方案,需要的朋友可以参考下
    2023-11-11
  • MySQL中存储时间的最佳实践指南

    MySQL中存储时间的最佳实践指南

    这篇文章主要给大家介绍了关于MySQL中存储时间的最佳实践,文中详细介绍了哪种存储时间的方式更好,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友可以参考下
    2021-07-07
  • 免安转MySQL服务的启动与停止方法

    免安转MySQL服务的启动与停止方法

    免安转MySQL服务的启动与停止方法,可以不用安装解压以后即可执行,对于老手推荐,新手建议用安装版本。
    2011-03-03
  • Mysql数据库的主从复制与读写分离精讲教程

    Mysql数据库的主从复制与读写分离精讲教程

    这篇文章主要为大家详细介绍了Mysql数据库的主从复制与读写分离的示例教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • 初始化MySQL用户(删除匿名用户)

    初始化MySQL用户(删除匿名用户)

    安装完MySQL后,系统默认会创建一个不需要密码的root用户,和一个无用户名无密码的匿名用户(Anonymous Account)。进行下面的初始化操作以合理授权,增强安全
    2016-01-01
  • MySQL 查找价格最高的图书经销商的几种SQL语句

    MySQL 查找价格最高的图书经销商的几种SQL语句

    不同的图书,在不同的经销商的价格不同,我们这里要找到每种图书最高的经销商是谁? 找最低的类似了。
    2009-07-07
  • 一文带你深入了解并掌握MySQL的DML和DCL

    一文带你深入了解并掌握MySQL的DML和DCL

    在数据库管理中,数据操作语言(DML)和数据控制语言(DCL)是至关重要的概念,DML使我们能够对数据库中的数据进行增加、修改和删除操作,本文将深入探讨这两个关键领域的核心概念和操作方法,帮助您更好地理解和应用数据库管理技术
    2024-02-02

最新评论