mysql中NULL值

mysql中NULL值表示"没有值",它跟空字符串""是不同的

例如,执行下面两个插入记录的语句:

复制代码
insert into test_table (description) values (null);
insert into test_table (description) values ('');

执行以后,查看表的值,下面第2和第3行是执行前面两条语句生成的:

可以看到,两条插入语句都在表中description列插入了值,但是第1条语句插入的是NULL,第2条语句插入的是空字符串。

有时候可能会有误解:认为一个列定义为NOT NULL,就不能插入空字符串。

其实,一个列定义为NOT NULL,是可以插入空字符串的,因为空字符串是NOT NULL。

下面语句测试空字符串('')和NULL:

要测试NULL,用 IS NULL和IS NOT NULL操作符

例如:

不能使用数学比较符号来测试NULL

不能使用数学比较符号,例如>、<、或者<>来测试NULL。因为,任何的数学比较符号和NULL相比的结果都是NULL,因此从这个比较中,得不到任何有意义的结果。

例如:

在MySQL,0或者NULL代表false,其它值代表true

在MySQL,0或者NULL代表false,其它值代表true。

相关推荐
三8443 小时前
redis防御加固与安全基线
数据库·redis·安全·应急响应·防御
lhldsg3 小时前
全民健身解决方案小程序开发:从0到1的技术实战
java·数据库·需求分析
SendTomo3 小时前
【技术交流】从0到1构建一个汉字学习平台:汉字吧(hanzi8.com)的技术架构猜想
redis·mysql·nginx·php·个人开发
IT大白鼠4 小时前
MySQL 分布式集群系列 · 第四篇——实操部署指南:从零搭建生产级 MySQL NDB 集群
数据库·分布式·mysql
IT大白鼠4 小时前
MySQL 分布式集群系列 · 第三篇——核心原理精讲:NDB 自动分片、多主写入与数据同步
数据库·分布式·mysql
Elastic 中国社区官方博客4 小时前
教程:使用 ES|QL 进行威胁狩猎
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·安全威胁分析
斑马1396 小时前
Linux软件编程学习笔记(十三)——数据库
数据库·oracle
初願致夕霞6 小时前
MySQL_索引
数据库·mysql
十六年开源服务商6 小时前
2026网站备份方案完整指南
数据库·oracle