mysql的null值跟空值(你知道mysql中空值和null值的区别吗)
mysql的null值跟空值
你知道mysql中空值和null值的区别吗前言
最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值。以下带来示例给大家进行讲解。
建表
|
create table test (cola varchar (10) not null ,colb varchar (10) null ); |
向test表中插入数据
插入cola为null的数据
|
insert into test values ( null ,1); |
此时会报错,因为cola列不能为null。
插入colb为null的数据
|
insert into test values (1, null ); |
发现插入成功。
插入都为空的数据
|
insert into test values ( '' , '' ); |
插入cola为空的数据
|
insert into test values ( '' , null ); |
发现向cola一列插入空值成功,而colb列既可以插入空值,也可以插入null值。
总结一下,定义为not null的字段只能插入空值,不能插入null值,而null字段可以插入空值,也可以插入null值。
插入都不为空的数据
|
insert into test values (1,2); |
开始查询
可以发现 is not null 只会过滤为null值的列,而<>会同时过滤空值和null值,所以要根据实际情况选择过滤方式。
另外,判断null值只能用 is null 或 is not null ,不能用 = 或 <>。
特别注意
1、在进行count()统计某列的记录数的时候,如果采用的null值,会别系统自动忽略掉,但是空值是会进行统计到其中的。
2、判断null 用is null 或者 is not null,sql 语句函数中可以使用ifnull()函数来进行处理,判断空字符用 = 或者 <> 来进行处理
3、对于mysql特殊的注意事项,对于timestamp数据类型,如果往这个数据类型插入的列插入null值,则出现的值是当前系统时间。插入空值,则会出现 ‘0000-00-00 00:00:00'
4、对于空值的判断到底是使用is null 还是 = 要根据实际业务来进行区分。
5、当使用order by时,首先呈现null值。如果你用desc以降序排序,null值最后显示。当使用group by时,所有的null值被认为是相等的,故只显示一行。
总结
到此这篇关于mysql中空值和null值的区别的文章就介绍到这了,更多相关mysql空值和null值的区别内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://www.cnblogs.com/jichi/p/14279875.html
- mysql的存储性能优化(MySQL的查询缓存和Buffer Pool)
- mysql访问被拒绝(nacos无法连接mysql的解决方法)
- mysql新增字段语句(关于Mysql update修改多个字段and的语法问题详析)
- 在php中与数据库连接的技术(PHP7.0连接DB操作实例分析基于mysqli)
- mysql explain的用法
- 查询mysql 死锁(MySQL线上死锁分析实战)
- mysql 索引表空间(MySQL如何构建数据表索引)
- navicat15.0.28注册码(Navicat for MySQL 11注册码激活码汇总)
- mysqldump导入导出(MySQL官方导出工具mysqlpump的使用)
- mysql事务特性和隔离级别(Mysql事务特性和级别原理解析)
- MySQL中对varchar类型的排序
- mysql效率查询(MySQL 如何分析查询性能)
- mysql 死锁产生的原因和必要条件(Mysql查看死锁与解除死锁的深入讲解)
- mysql错误代码之1064的解决方案(mysql错误代码之1064的解决方案)
- mysql拆分字符串(MySQL 字符串拆分操作含分隔符的字符串截取)
- mysql参数说明(MySQL中你可能忽略的COLLATION实例详解)
- 得这个 难治病 的人太多了,300个人赶到杭州商量怎么办(得这个难治病的人太多了)
- 经度,世界时间腕表的灵魂(世界时间腕表的灵魂)
- 阿里最新财报公布 三季度营收增长3 ,将增加150亿美元回购额度 在美股价小涨(阿里最新财报公布)
- 赵薇时胖时瘦 最近变美少女 原因在这里 躺着就变瘦(赵薇时胖时瘦最近变美)
- 学会这26种姿势,你就可以和兵哥哥切磋了(你就可以和兵哥哥切磋了)
- 吴彦祖陈冠希 恩怨 ,失去曾让他流泪的女友,终遇走过18年真爱(吴彦祖陈冠希恩怨)
热门推荐
- php在没有命名空间之前是怎么调(php命名空间设计思想、用法与缺点分析)
- docker-compose绑定端口失效(docker-compose创建网桥,添加子网,删除网卡的实现)
- pyqt5界面绘图(PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形)
- dede网站地图模块(Dedecms中百度网站地图制作的方法图文教程)
- C#中static静态变量的用法
- 服务器的维护与管理(浅谈网站服务器的维护管理)
- jsarray操作技巧(JS数组reduce你不得不知道的25个高级用法)
- vs中debug和release的区别
- js实现图片旋转
- mysql执行计划详细解读(详解MySQL的Seconds_Behind_Master)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9