你知道mysql中空值和null值的区别吗

 更新时间:2021年01月15日 11:16:14   作者:经典鸡翅  
这篇文章主要给大家介绍了关于mysql中空值和null值区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值。以下带来示例给大家进行讲解。

建表

create table test (colA varchar(10) not null,colB varchar(10) null);

向test表中插入数据

插入colA为null的数据

insert into test values (null,1);

此时会报错,因为colA列不能为null。

插入colB为null的数据

insert into test values (1,null);

发现插入成功。

插入都为空的数据

insert into test values ('','');

插入colA为空的数据

insert into test values ('',null);

发现向colA一列插入空值成功,而colB列既可以插入空值,也可以插入NULL值。
总结一下,定义为NOT NULL的字段只能插入空值,不能插入null值,而NULL字段可以插入空值,也可以插入null值。

插入都不为空的数据

insert into test values (1,2);

开始查询




可以发现 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值的区别的文章就介绍到这了,更多相关mysql空值和null值的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL如何为字段添加默认时间浅析

    MySQL如何为字段添加默认时间浅析

    这篇文章主要给大家介绍了关于MySQL如何为字段添加默认时间的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • SQL查询至少连续七天下单的用户

    SQL查询至少连续七天下单的用户

    这篇文章介绍了SQL查询至少连续七天下单用户的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • mysql 5.7 数据库安装步骤个人总结

    mysql 5.7 数据库安装步骤个人总结

    这篇文章主要介绍了mysql 数据库安装步骤个人总结,需要的朋友可以参考下
    2017-09-09
  • MySQL中常见的六个约束类型详解

    MySQL中常见的六个约束类型详解

    数据类型是为了节约内存,提高计算, 数据约束是为了完整性(存储关系),下面这篇文章主要给大家介绍了关于MySQL中常见的六个约束类型的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • MySQL分组查询Group By实现原理详解

    MySQL分组查询Group By实现原理详解

    在MySQL 中,GROUP BY 的实现同样有多种(三种)方式,其中有两种方式会利用现有的索引信息来完成 GROUP BY,另外一种为完全无法使用索引的场景下使用。下面我们分别针对这三种实现方式做一个分析
    2016-05-05
  • mysql启动报错:The server quit without updating PID file的几种解决办法汇总

    mysql启动报错:The server quit without updating PID file的几种

    不管是在安装还是运行MySQL的时候,都很有可能遇到报错,下面这篇文章主要给大家介绍了关于mysql启动报错:The server quit without updating PID file的几种解决办法,需要的朋友可以参考下
    2022-08-08
  • 浅谈Mysql使用B+树来实现索引的原因

    浅谈Mysql使用B+树来实现索引的原因

    这篇文章,主要来探讨一下为什么Mysql使用B+树来实现索引,这里讨论的目标是Mysql的InnoDB存储引擎.可以想象一下,如果你是Mysql的开发人员,你会怎么去选择合适的数据结构呢,感兴趣的小伙伴跟着小编一起来探讨吧
    2023-05-05
  • mysql 字符串函数收集比较全

    mysql 字符串函数收集比较全

    mysql 字符串函数收集,需要的朋友可以参考下。
    2010-03-03
  • mysql 5.7.17 安装配置方法图文教程(windows10)

    mysql 5.7.17 安装配置方法图文教程(windows10)

    这篇文章主要为大家分享了mysql 5.7.17 安装配置方法图文教程,具有一定的参考价值,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • MySQL查询本周、上周、本月、上个月份数据的sql代码

    MySQL查询本周、上周、本月、上个月份数据的sql代码

    MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查询本周、上周、本月、上个月份的数据,如果您对MySQL查询方面感兴趣的话,不妨一看
    2012-11-11

最新评论