MySQL查询空字段或非空字段(is null和not null)

 更新时间:2016年04月16日 21:14:59   投稿:mdxy-dxy  
本文介绍在MySQL中,面对值为空(NULL)的字段,应该如何查询。怎么判断一个字段的值为NULL或不为NULL,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

现在我们先来把test表中的一条记录的birth字段设置为空。

mysql> update test set t_birth=null where t_id=1;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

OK,执行成功!
设置一个字段值为空时的语法为:set <字段名>=NULL
说明一下,这里没有大小写的区分,可以是null,也可以是NULL。

下面看看结果:

mysql> select * from test;
+------+--------+----------------------------------+------------+
| t_id | t_name | t_password                       | t_birth    |
+------+--------+----------------------------------+------------+
|    1 | name1  | 12345678901234567890123456789012 | NULL       |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 |
+------+--------+----------------------------------+------------+
2 rows in set (0.00 sec)

接下来分别查询一下字段t_birth值为空或不为空的记录:

mysql> select * from test where t_birth is null;
+------+--------+----------------------------------+---------+
| t_id | t_name | t_password                       | t_birth |
+------+--------+----------------------------------+---------+
|    1 | name1  | 12345678901234567890123456789012 | NULL    |
+------+--------+----------------------------------+---------+
1 row in set (0.00 sec)

mysql> select * from test where t_birth is not null;
+------+--------+----------------------------------+------------+
| t_id | t_name | t_password                       | t_birth    |
+------+--------+----------------------------------+------------+
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 |
+------+--------+----------------------------------+------------+
1 row in set (0.00 sec)

说明:
1、查询字段值为空的语法:where <字段名> is null
2、查询字段值不为空的语法:where <字段名> is not null

关于MySQL查询空字段或非空字段(is null和not null),本文就介绍这么多,希望对大家有所帮助,谢谢! 

相关文章

  • MySQL数据类型DECIMAL用法详解

    MySQL数据类型DECIMAL用法详解

    这篇文章主要介绍了MySQL数据类型DECIMAL用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • mysql中的int(5)到底有是多长

    mysql中的int(5)到底有是多长

    这篇文章主要介绍了mysql中的int(5)到底有是多长,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • MySql按时,天,周,月进行数据统计

    MySql按时,天,周,月进行数据统计

    这篇文章主要介绍了MySql按时,天,周,月进行数据统计,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 教你解决往mysql数据库中存入汉字报错的方法

    教你解决往mysql数据库中存入汉字报错的方法

    这篇文章主要介绍了Mysql基础之教你解决往数据库中存入汉字报错的方法,文中有非常详细的代码示例,对正在学习mysql的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • MySQL数据库误删回滚的解决

    MySQL数据库误删回滚的解决

    本文主要介绍了MySQL数据库误删回滚的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 深入mysql存储过程中表名使用参数传入的详解

    深入mysql存储过程中表名使用参数传入的详解

    本篇文章是对mysql存储过程中表名使用参数传入进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MySQL?中的count(*)?与?count(1)?谁更快一些?

    MySQL?中的count(*)?与?count(1)?谁更快一些?

    这篇文章主要讨论MySQL?中?count(*)?与?count(1)?谁更快一些?以下讨论基于?InnoDB?存储引擎,并且再文末单独说一下MyISAM?,感兴趣的小伙伴可以参考一下
    2022-02-02
  • Windows服务器MySQL中文乱码的解决方法

    Windows服务器MySQL中文乱码的解决方法

    这篇文章主要介绍了MySQL中文乱码的一些解决方案,本文同时分解了MySQL中文乱码的原因分析,需要的朋友可以参考下
    2015-01-01
  • 探讨:MySQL中如何查询当前正在运行的SQL语句

    探讨:MySQL中如何查询当前正在运行的SQL语句

    本篇文章是对在MySQL中如何查询当前正在运行的SQL语句进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • mysql?触发器的使用及注意点

    mysql?触发器的使用及注意点

    本篇要介绍的是mysql的触发器,也属于数据库编程的一种,相对存储过程来说,使用起来更加简单,在某些特定的场景下使用触发器,同样可以达到减少应用程序与mysql服务器交互次数从而提升性能的目的,对mysql?触发器使用相关知识感兴趣的朋友一起看看吧
    2022-08-08

最新评论

?


http://www.vxiaotou.com