1. 空值 Null 和空字符 ''
2. 空值 Null 和空字符 '' 在查询方式上的对比
2.1. 创建 SQL 脚本
2.2. 查询 username 列为空字符串 '' 的所有数据
2.3. 查询 username 列为空值 null 的所有数据
2.4. 查询 username 列不为空值 null 的所有数据
3. 空值 Null 和空字符 '' 在 count() 函数查询的对比
3.1. 查询 username 列数据总数
4. MySQL 中的比较运算符
1. 空值 Null 和空字符 ''日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到 MySQL
中的 NULL
和空字符 ''
,二者表面上看都是空,其实存在一些差异的
空值 NULL
的长度是 NULL
,不确定占用了多少存储空间,它是占用存储空间的
空字符串 ''
的长度是 0
,是不占用空间的*
通俗的讲:空字符串 ''
就像是一个真空状态的杯子,什么都没有;而空值 NULL
就像是一个装满空气的杯子,是有东西的。二者虽然看起来都是空的、透明的,但是有着本质的区别
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.3.1. 错误 SQL
2.3.2. 正确 SQL
2.4.1. 错误 SQL
2.4.2. 正确 SQL
比较字符 =,>,< ,<>
,!=
都不能用于查询比较 null
值,如果需要查询空值 null
,必须使用 is null
或 is not null
空值 ''
可以使用 =, !=, <, >
等算术运算符来查询的
使用 count()
的时候,空值 null
并不会被当成有效值去统计的
空字符串 ''
是会被 count()
函数所统计的
= | 等于 |
<=> | 安全等于,可以比较 null |
<> 或 != | 不等于 |
>= | 大于等于 |
<= | 小于等于 |
> | 大于 |
< | 小于 |
IS NULL | 判断一个值是否为 null |
IS NOT NULL | 判断一个值是否不为 null |
到此这篇关于MySQL中空值Null和空字符‘‘的具体使用的文章就介绍到这了,更多相关MySQL 空值Null和空字符‘‘内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!