《零基础》MySQL NULL 值处理(二十一)
MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。
为了处理这种情况,MySQL提供了三大运算符:
- IS NULL: 当列的值是 NULL,此运算符返回 true。
- IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
- <=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。
关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 NULL,即 NULL = NULL 返回 NULL 。
MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。
注意:
select * , columnName1+ifnull(columnName2,0) from tableName; columnName1,columnName2 为 int 型,当 columnName2 中,有值为 null 时,columnName1+columnName2=null, ifnull(columnName2,0) 把 columnName2 中 null 值转为 0。
在命令提示符中使用 NULL 值
以下实例中假设数据库 RUNOOB 中的表 runoob_test_tbl 含有两列 runoob_author 和 runoob_count, runoob_count 中设置插入NULL值。
实例
尝试以下实例:
创建数据表 runoob_test_tbl
root@host# mysql -u root -p password;
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> create table runoob_test_tbl-> (-> runoob_author varchar(40) NOT NULL,-> runoob_count INT-> );
Query OK, 0 rows affected (0.05 sec)
mysql> INSERT INTO runoob_test_tbl (runoob_author, runoob_count) values ('RUNOOB', 20);
mysql> INSERT INTO runoob_test_tbl (runoob_author, runoob_count) values ('菜鸟教程', NULL);
mysql> INSERT INTO runoob_test_tbl (runoob_author, runoob_count) values ('Google', NULL);
mysql> INSERT INTO runoob_test_tbl (runoob_author, runoob_count) values ('FK', 20);mysql> SELECT * from runoob_test_tbl;
+---------------+--------------+
| runoob_author | runoob_count |
+---------------+--------------+
| RUNOOB | 20 |
| 菜鸟教程 | NULL |
| Google | NULL |
| FK | 20 |
+---------------+--------------+
4 rows in set (0.01 sec)
以下实例中你可以看到 = 和 != 运算符是不起作用的:
mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count = NULL;
Empty set (0.00 sec)
mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count != NULL;
Empty set (0.01 sec)
查找数据表中 runoob_test_tbl 列是否为 NULL,必须使用 IS NULL 和 IS NOT NULL,如下实例:
mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count IS NULL;
+---------------+--------------+
| runoob_author | runoob_count |
+---------------+--------------+
| 菜鸟教程 | NULL |
| Google | NULL |
+---------------+--------------+
2 rows in set (0.01 sec)mysql> SELECT * from runoob_test_tbl WHERE runoob_count IS NOT NULL;
+---------------+--------------+
| runoob_author | runoob_count |
+---------------+--------------+
| RUNOOB | 20 |
| FK | 20 |
+---------------+--------------+
2 rows in set (0.01 sec)
《零基础》MySQL NULL 值处理(二十一)相关推荐
- SLAM导航机器人零基础实战系列:(二)ROS入门——2.ROS系统整体架构
SLAM导航机器人零基础实战系列:(二)ROS入门--2.ROS系统整体架构 摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机 ...
- SLAM导航机器人零基础实战系列:(二)ROS入门——10.在实际机器人上运行ROS高级功能预览...
SLAM导航机器人零基础实战系列:(二)ROS入门--10.在实际机器人上运行ROS高级功能预览 摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了 ...
- SQL零基础入门学习(十二)
SQL零基础入门学习(SQL约束) SQL CREATE INDEX 语句 CREATE INDEX 语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 索引 ...
- 零基础mysql项目实例_MySQL-零基础开发
1.终端下连接mysql服务 mysql -uroot -p回车后输入设定的密码即可. 进去后每条命令结尾要带分号:退出命令exit 单行注释有两种:# 或 --空格.多行注释/* */ 2.基本命令 ...
- Oracle 与 Mysql NULL值,空字符串''的区别
Oracle(null等同于空字符'') 1.oracle插入空字符串默认替换成null 2.oracle查询(null和被替换的空字符)时使用 is null/is not null 3.使用聚合函 ...
- mysql null值和空格_MySQL中NULL与空字符串空格问题
一些刚刚接触MySQL的孩子,经常会错误的认为NULL与空字符串' '是相同的.这看似是一件不重要的事情,但是在MySQL中,这两者是完全不同的.NULL是指没有值,而''则表示值是存在的,只不过是个 ...
- cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...
一.前言 基于前面我发的贴子 土味程序员:一个简单的零基础的机器学习教程,Pytorch搭建Faster R-CNN目标检测平台zhuanlan.zhihu.com 一个非常震撼的目标检测的例子.上 ...
- MySQL NULL 值处理
我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了处理这种情况,MySQL提 ...
- 零基础入门深度学习(二):用一个案例掌握深度学习方法
导读 本课程是百度官方开设的零基础入门深度学习课程,主要面向没有深度学习技术基础或者基础薄弱的同学,帮助大家在深度学习领域实现从0到1+的跨越.从本课程中,你将学习到: 深度学习基础知识 numpy实 ...
最新文章
- Javascript--键盘事件的组合使用
- php面向对象编程开发,php面向对象编程之对象
- 【零基础学习iOS开发】【02-C语言】10-函数
- java 调用windows bat脚本
- PWM 发生器模块设计
- C++ 带默认参数值的函数
- centos 7 mysql随机密码_在centos中安装了mysql5.7之后解决不知道随机的密码的问题...
- ImportError: No module named 'matplotlib'(python 安装各种 )
- BDD测试利器:mocha+should.js
- HDOJ 1896 Stones
- 分子重构技术_分子影像重构精准未来:百名专家云端共筑 One MI 生态圈
- error: dst ref refs/heads/zhCN_v0.13.1 receives from more than one src.
- C语言 求平方 求开方
- Spire.pdf-使用学习记录
- 密钥配送问题解决方法
- Java实现蓝桥杯 九宫幻方
- 2020最新as项目中添加jni---------静态注册
- Linux网络适配器不见了,linux – lspci未显示HyperV网络适配器
- idea集成泛微axis拉取代码时报错,Axis1.4完整maven jar
- 【已解决】surface 电池不好充电显示 未连接 ,将充电的接口换个方向就解决了
热门文章
- 数据挖掘 python框架_8个最高效的Python爬虫框架
- 中国上海量子计算机,首台光量子计算机在上海亮相
- mysql 将时间戳_mysql 将时间戳直接转换成日期时间
- go语言 mysql卡死_一次mysql死锁的排查过程-Go语言中文社区
- 创建路径_PS钢笔工具是建立路径的基本工具
- mysql cascade|restrict|no action|set null__mysql 外键的几种约束
- springboot前端传参date类型后台处理方式
- java基本数据类型转为String类型的4种常见方法
- mysql++多版本安装_MySQL多版本多实例安装启动
- mysql数据库操作宠物表_mysql数据库之表的操作