MySQL的空值和NULL有什么区别?(附示例)【MySQL教程】,MySQL
作者:搜教程发布时间:2019-11-27分类:MySQL教程浏览:16评论:0
从实质上区分:
1、空值不占空间
2、null值占空间
浅显的讲:
空值就像是一个真空转态杯子,什么都没有,而null值就是一个装满氛围的杯子,虽然看起来都是一样的,然则有着实质的区分。
(引荐课程:MySQL教程)
例子:
建立一个test表,colA是不能够寄存null值的,colB是能寄存null值的。
CREATE TABLE `test` ( `colA` varchar(255) NOT NULL, `colB` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插进去一个null值尝尝,会发作什么情况?
INSERT INTO `test`(`colA`, `colB`) VALUES (NULL, NULL);
//涌现报错,原因是colA是不能插进去null值。
那末假如两个字段同时插进去空值,会怎样。
INSERT INTO `test`(`colA`, `colB`) VALUES ('', '');
插进去胜利,申明字段纵然设置为null值的时刻,是能够插进去空值的
---------------------------------------------------------------查询---------------------------------------------------------
如今内外有三条数据
接下来我们运用 is not null 和 <> 检索数据内外的数据
1、运用IS NOT NULL 的查询
1 SELECT * FROM `test` WHERE colA IS NOT NULL
1 SELECT * FROM `test` WHERE colB IS NOT NULL
结论:运用 IS NOT NULL 查询不会过滤空值,然则会过滤掉NULL。
2、运用 <> 的查询
1 SELECT * FROM `test` WHERE colA <> '';
1 SELECT * FROM `test` WHERE colA <> '';
结论:运用 <> 会过滤掉NULL和空值。
3、运用 count 查询
1 SELECT COUNT(colA) FROM `test`;
1 SELECT COUNT(colB) FROM `test`;
结论:运用 count 会过滤掉 NULL 值,然则不会过滤掉空值。
总结
1、空值不占空间,NULL值占空间(占用一个字节)。
2、当字段不为NULL时,也能够插进去空值。
3、当运用 IS NOT NULL 或许 IS NULL 时,只能查出字段中没有不为NULL的或许为 NULL 的,不能查出空值。
4、运用 <> 查询时,会挑选掉空值和NULL值。
5、运用 count 统计时会过滤掉 NULL 值,然则不会过滤掉空值。
以上就是MySQL的空值和NULL有什么区分?(附示例)的细致内容,更多请关注ki4网别的相干文章!
标签:MySQL
相关推荐
- MySQL如何使用授权命令grant_MySQL教程,MySQL,grant
- MySQL 连接查询超级详解_MySQL教程,MySQL,连接查询
- PHP如何结合MySQL进行千万级数据处理_php教程,PHP,MySQL,数据处理
- MySQL中explain用法和结果分析(详解)_MySQL教程,MySQL,explain
- 解决MySQL会出现中文乱码问题的方法_MySQL教程,MySQL,中文乱码
- 了解MySQ(Oracle)模糊查询 使用instr()替代like提升效率_MySQL教程,MySQL,instr(),like
- MySQL单表容量有多少_MySQL教程,MySQL
- 常用MySQL函数有哪些?_MySQL教程,MySQL,常用函数
- mysql中varchar最大长度有多大_MySQL教程,MySQL
- mysql between and 包含边界吗_MySQL教程,MySQL
你 发表评论:
欢迎- MySQL教程排行
-
- 1Mysql如何挂盘_MySQL教程,Mysql
- 2mysql中key 、primary key 、unique key 与index区别详解_MySQL教程,mysql
- 3关于一道mysql查询面试题的思考解决过程_MySQL教程,mysql
- 4关于linux下mysql去除严格模式_MySQL教程,linux
- 5分离数据库和附加数据库的区别_MySQL教程,数据库
- 6利用mysql生成唯一序号_MySQL教程,mysql
- 7mysql数据库如何创建数据表_MySQL教程,mysql,数据表
- 8如何修改mysql的默认时区_MySQL教程,mysql,时区
- 9看看MySQL 5.6, 5.7, 8.0的新特性!_MySQL教程,MySQL
- 最新文章
- 广而告之