MySQL中空值Null和空字符怎么使用
MySQL中空值Null和空字符怎么使用
这篇文章主要介绍了MySQL中空值Null和空字符怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中空值Null和空字符怎么使用文章都会有所收获,下面我们一起来看看吧。
1. 空值 Null 和空字符 ''
日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到 MySQL
中的 NULL
和空字符 ''
,二者表面上看都是空,其实存在一些差异的
-
空值
NULL
的长度是NULL
,不确定占用了多少存储空间,它是占用存储空间的 -
空字符串
''
的长度是0
,是不占用空间的*
通俗的讲:空字符串 ''
就像是一个真空状态的杯子,什么都没有;而空值 NULL
就像是一个装满空气的杯子,是有东西的。二者虽然看起来都是空的、透明的,但是有着本质的区别
2. 空值 Null 和空字符 '' 在查询方式上的对比
2.1. 创建 SQL 脚本
CREATE TABLE `test_1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4; --插入数据 INSERT INTO test_1 VALUES(1,'李斯','111111'); INSERT INTO test_1 VALUES(2,'',''); INSERT INTO test_1 VALUES(3,null,''); INSERT INTO test_1 VALUES(4,null,1);
表中的数据如下,注意 null
值与 ''
值
2.2. 查询 username 列为空字符串 '' 的所有数据
2.3. 查询 username 列为空值 null 的所有数据
2.3.1. 错误 SQL
2.3.2. 正确 SQL
2.4. 查询 username 列不为空值 null 的所有数据
2.4.1. 错误 SQL
2.4.2. 正确 SQL
-
比较字符
=,>,< ,<>
,!=
都不能用于查询比较null
值,如果需要查询空值null
,必须使用is null
或is not null
-
空值
''
可以使用=, !=, <, >
等算术运算符来查询的
3. 空值 Null 和空字符 '' 在 count() 函数查询的对比
3.1. 查询 username 列数据总数
使用 count()
的时候,空值 null
并不会被当成有效值去统计的
空字符串 ''
是会被 count()
函数所统计的
4. MySQL 中的比较运算符
运算符 | 含义 |
---|---|
= |
等于 |
<=> |
安全等于,可以比较 null |
<> 或 != |
不等于 |
>= |
大于等于 |
<= |
小于等于 |
> |
大于 |
< |
小于 |
IS NULL |
判断一个值是否为 null |
IS NOT NULL |
判断一个值是否不为 null |
关于“MySQL中空值Null和空字符怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“MySQL中空值Null和空字符怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注高防服务器网行业资讯频道。
[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。
[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[