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。

相关推荐
老李不敲代码19 分钟前
榕壹云打车系统:基于Spring Boot+MySQL+UniApp的开源网约车解决方案
spring boot·mysql·微信小程序·uni-app·软件需求
boring_1111 小时前
从Aurora 架构看数据库计算存储分离架构
数据库·架构
数澜悠客1 小时前
AI规则引擎:解锁SQL数据分析新姿势
数据库·人工智能·oracle
懵逼的小黑子1 小时前
飞书配置表数据同步到数据库中
数据库·飞书
Elastic 中国社区官方博客1 小时前
在 Elasticsearch 中删除文档中的某个字段
大数据·数据库·elasticsearch·搜索引擎
杨凯凡2 小时前
MySQL入门指南:环境搭建与服务管理全流程
数据库·mysql
时序数据说2 小时前
时序数据库IoTDB分布式系统监控基础概述
大数据·数据库·database·时序数据库·iotdb
虾球xz2 小时前
游戏引擎学习第278天:将实体存储移入世界区块
数据库·c++·学习·游戏引擎
forestsea3 小时前
MySQL 入门大全:数据类型
数据库·mysql
Dreams°1233 小时前
【Python爬虫 !!!!!!政府招投标数据爬虫项目--医疗实例项目文档(提供源码!!!)!!!学会Python爬虫轻松赚外快】
分布式·爬虫·python·mysql·scikit-learn