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 值与 ''

    MySQL中空值Null和空字符怎么使用  mysql 第1张

    2.2. 查询 username 列为空字符串 '' 的所有数据

    MySQL中空值Null和空字符怎么使用  mysql 第2张

    2.3. 查询 username 列为空值 null 的所有数据

    2.3.1. 错误 SQL

    2.3.2. 正确 SQL

    MySQL中空值Null和空字符怎么使用  mysql 第3张

    2.4. 查询 username 列不为空值 null 的所有数据

    2.4.1. 错误 SQL

    MySQL中空值Null和空字符怎么使用  mysql 第4张

    2.4.2. 正确 SQL

    MySQL中空值Null和空字符怎么使用  mysql 第5张

    • 比较字符 =,>,< ,<>!= 都不能用于查询比较 null 值,如果需要查询空值 null,必须使用 is nullis not null

    • 空值 '' 可以使用 =, !=, <, > 等算术运算符来查询的

    3. 空值 Null 和空字符 '' 在 count() 函数查询的对比

    3.1. 查询 username 列数据总数

    MySQL中空值Null和空字符怎么使用  mysql 第6张

    使用 count() 的时候,空值 null 并不会被当成有效值去统计的

    空字符串 '' 是会被 count() 函数所统计的

    4. MySQL 中的比较运算符

    运算符含义
    =等于
    <=>安全等于,可以比较 null
    <> 或 !=不等于
    >=大于等于
    <=小于等于
    >大于
    <小于
    IS NULL判断一个值是否为 null
    IS NOT NULL判断一个值是否不为 null

    关于“MySQL中空值Null和空字符怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“MySQL中空值Null和空字符怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道。

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    评论

    有免费节点资源,我们会通知你!加入纸飞机订阅群

    ×
    天气预报查看日历分享网页手机扫码留言评论Telegram