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。

相关推荐
ShiXZ2134 小时前
Redis 常用指令全集:redis-cli 实战速查手册
数据库·redis·缓存
晓子文集4 小时前
Tushare接口文档:期货日线行情(fut_daily)
大数据·数据库·金融数据·量化投资·tushare
WA内核拾荒者5 小时前
WhatsApp 账号异常检测的自动化告警系统设计
数据库·python·自动化
龙仔7258 小时前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
老杨聊技术9 小时前
CentOS 7 安装 MySQL 8 保姆级教程
linux·mysql·centos
sunxr.2279 小时前
Mysql-----最后一次作业
数据库·mysql
普通网友9 小时前
Python FastAPI 异步数据库管理
数据库·fastapi
晓子文集9 小时前
Tushare接口文档:期货合约信息表(fut_basic)
大数据·数据库·金融·金融数据·量化投资
三言老师10 小时前
CentOS7.9:Redis‑Cluster集群部署结构化实战教程
linux·运维·服务器·数据库
旺仔学长 哈哈10 小时前
Spring Boot 智能停车场管理系统---附源码+数据库文档
数据库·spring boot·后端·智能停车场