MySQL的空值和NULL有什么区别?(附示例)
发布时间:08/01 来源:未知 浏览:
关键词:
从本质上区别:
1、空值不占空间
2、null值占空间
通俗的讲:
空值就像是一个真空转态杯子,什么都没有,而null值就是一个装满空气的杯子,虽然看起来都是同样的,但是有着本质的区别。
(举荐课程:MySQL教程)
例子:
新建一个test表,colA是不成以寄存null值的,colB是能寄存null值的。
CREATE TABLE `test` ( `colA` varchar(255) NOT NULL, `colB` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入一个null值试试,会产生什么状况?
INSERT INTO `test`(`colA`, `colB`) VALUES (NULL, NULL);
//涌现报错,缘由是colA是不克不及插入null值。
结论:运用 count 会过滤掉 NULL 值,但是不会过滤掉空值。
总结
1、空值不占空间,NULL值占空间(占用一个字节)。
2、当字段不为NULL时,也可以插入空值。
3、当运用 IS NOT NULL 或者 IS NULL 时,只能查出字段中没有不为NULL的或者为 NULL 的,不克不及查出空值。
4、运用 <> 查询时,会筛选掉空值和NULL值。
5、运用 count 统计时会过滤掉 NULL 值,但是不会过滤掉空值。
以上就是MySQL的空值和NULL有什么区别?(附示例)的细致内容,更多请关注 百分百源码网 其它相干文章!