现在我们先来把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 IS NULL:空值查询和MySQL使用GROUP BY分组查询
- mysql使用GROUP_CONCAT和left join进行联合多表查询,(处理多表查询时,某表数据为空null值处理以及结果集多条数据展示在一行的处理)
- SQL查询数据库表字段值不为空或Null的所有列
- MySQL中建表时可空(NULL)和非空(NOT NULL)的用法详解
- Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?
- mysql 怎么样把空值或null查询出来
- springmvc返回数据库不为空的数据的方法(或JSONObject过滤null字段的方法)
- Mysql查询int型字段的最大值,表为空结果为null时处理成0
- 用sql命令修改数据表中的一个字段为非空(not null)的语句
- 如何检查字段是否为null或空的mysql?