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

 更新时间:2016年04月16日 21:14:59   投稿:mdxy-dxy  
本文介绍在MySQL中,面对值为空(NULL)的字段,应该如何查询。怎么判断一个字段的值为NULL或不为NULL,需要的朋友可以参考下

现在我们先来把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 pt-slave-restart工具的使用简介

    MySQL pt-slave-restart工具的使用简介

    这篇文章主要介绍了MySQL pt-slave-restart工具的使用简介,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-04-04
  • MySQL数据库事务隔离级别介绍(Transaction Isolation Level)

    MySQL数据库事务隔离级别介绍(Transaction Isolation Level)

    这篇文章主要介绍了MySQL数据库事务隔离级别(Transaction Isolation Level) ,需要的朋友可以参考下
    2014-05-05
  • 详解MySQL like如何查询包含''%''的字段(ESCAPE用法)

    详解MySQL like如何查询包含''%''的字段(ESCAPE用法)

    这篇文章主要介绍了详解MySQL like如何查询包含'%'的字段(ESCAPE用法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • MySQL和Redis的数据一致性问题

    MySQL和Redis的数据一致性问题

    这篇文章主要介绍了MySQL和Redis的数据一致性问题,下面文章围绕Redis大的相关资料展开详情,需要的小伙伴可以参考一下
    2022-04-04
  • MySQL分区之子分区详解

    MySQL分区之子分区详解

    子分区(subpartition)是分区表中对每个分区的再次分割,又被称为复合分区,下面这篇文章主要给大家介绍了关于MySQL分区之子分区的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • PHP连接MySql闪断自动重连的方法

    PHP连接MySql闪断自动重连的方法

    当mysql连接闪断时,之后循环的执行将会失败。这篇文章主要介绍了PHP连接MySql闪断自动重连的方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-08-08
  • 浅谈mysql中int(1)和int(10)的区别

    浅谈mysql中int(1)和int(10)的区别

    本文主要介绍了浅谈mysql中int(1)和int(10)的区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 深入了解MySQL中INSTR()函数的使用

    深入了解MySQL中INSTR()函数的使用

    本文主要介绍了深入了解MySQL中INSTR()函数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • mysql sql语句总结

    mysql sql语句总结

    mysql sql语句总结,都是一些比较实用简单的语句。一定要掌握的。
    2009-11-11
  • MySQL Truncate用法详解

    MySQL Truncate用法详解

    这篇文章主要介绍了MySQL Truncate用法的相关资料,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2020-08-08

最新评论