MySQL判断空值的三种方法

 更新时间:2024年03月11日 11:40:49   作者:积极向上的ACC  
在创建表时,可以指定的列是否可以不包含值,如果在一个列不包含值,则其称其为空值NULL,NULL一个特殊值,代表缺失的值或者不适用的情况,表示未知数据,本文给大家介绍了MySQL判断空值的三种方法,需要的朋友可以参考下

在开始前我们先来做一个思考,如下图:

根据上图箭头所指的位置,我们该如何分别去判断空?表从上到下依次为:t_user,t_user_1,t_user_2,下面分三种情况去聊聊。

1. is null

命令行查t_user表

从命令行可以看出第五条数据存在空值,那么我们执行如下语句试试:

select * from t_user where id='NULL'

运行结果:

可以看到并没有查出数据,这里存在一个可视化的问题,就是在命令行显示的空值和在可视化工具显示会有偏差,我们转去可视化工具查看:

这里就容易出现问题了,为了更清楚看到数据,我们可以导出表数据(字段id的数据类型tinytext):

可以看到箭头指向的值是NULL,并不是'NULL',这就是空值和字符的区别,所以我们上面执行的语句显然查不出。

SQL中有判断空值的关键字,那就是is null,我们执行如下语句:

select * from t_user where id is null

执行结果:

2. =''

先查下表t_user_1:  

可以看到最后一行是空白的,我们再导出sql看下语句:  

也是空的字符,由此可以用=''作为关键字来查询

select * from t_user_1 where id =''

执行结果:

3. ='NULL'

先查下表t_user_2:

查出来的结果和第一点一致,那也是一样的语句吗?前面提到过命令行和可视化工具会有偏差,那么我们导出语句对比一下:

可以看出上面的是空值,而下面的是字符NULL,不要混淆两者。对于字符的NULL,可以用='NULL'='null'关键字查询:

select * from t_user_2 where id='NULL'

select * from t_user_2 where id='null'

到此这篇关于MySQL判断空值的三种方法的文章就介绍到这了,更多相关MySQL判断空值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中BIGINT数据类型如何存储整数值

    MySQL中BIGINT数据类型如何存储整数值

    mysql数据库设计,其中对于数据性能优化,字段类型考虑很重要,下面这篇文章主要给大家介绍了关于MySQL中BIGINT数据类型如何存储整数值的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • MySQL视图中用变量实现自动加入序号功能

    MySQL视图中用变量实现自动加入序号功能

    在 MySQL 中,视图不支持直接使用变量来生成序号,因为视图是基于静态 SQL 查询定义的,而变量是在运行时动态计算的,不过,你可以通过一些技巧来实现类似的效果,以下是一个常见的方法,使用子查询来初始化变量,然后在视图中使用这些变量,需要的朋友可以参考下
    2024-10-10
  • MySQL性能参数详解之Skip-External-Locking参数介绍

    MySQL性能参数详解之Skip-External-Locking参数介绍

    MySQL的配置文件my.cnf中默认存在一行skip-external-locking的参数,即跳过外部锁定。根据MySQL开发网站的官方解释,External-locking用于多进程条件下为MyISAM数据表进行锁定
    2016-05-05
  • MySQL存储过程的创建使用以及实现数据快速插入

    MySQL存储过程的创建使用以及实现数据快速插入

    因最近想要测试一下MySQL百万级数据处理过程,所以要一次对数据库快速插入大量数据,下面这篇文章主要给大家介绍了关于MySQL存储过程的创建使用以及实现数据快速插入的相关资料,需要的朋友可以参考下
    2023-03-03
  • 通过两种方式增加从库——不停止mysql服务

    通过两种方式增加从库——不停止mysql服务

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库。前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作
    2015-11-11
  • MYSQL初学者命令行使用指南

    MYSQL初学者命令行使用指南

    其实MYSQL的对数据库的操作与其它的SQL类数据库大同小异,您最好找本将SQL的书看看。我在这里只介绍一些基本的,其实我也就只懂这些了,呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关网站都有下载,而且它是最权威的。
    2008-06-06
  • mysql不同数据库不同数据表导入数据

    mysql不同数据库不同数据表导入数据

    这篇文章主要介绍了mysql不同数据库不同数据表导入数据的相关资料,需要的朋友可以参考下
    2015-07-07
  • mysql存储过程 返回 list结果集方式

    mysql存储过程 返回 list结果集方式

    这篇文章主要介绍了mysql存储过程 返回 list结果集方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • MySQL优化之表结构优化的5大建议(数据类型选择讲的很好)

    MySQL优化之表结构优化的5大建议(数据类型选择讲的很好)

    很多人都将 数据库设计范式 作为数据库表结构设计“圣经”,认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求
    2014-03-03
  • MySQL内部函数的超详细介绍

    MySQL内部函数的超详细介绍

    众所周知MySQL有很多内置的函数,下面这篇文章主要给大家介绍了关于MySQL内部函数的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-08-08

最新评论