河南定制网站建设企业,策划书word模板,热门网页游戏排行,桂林十里画廊从本质上区别#xff1a;1、空值不占空间2、null值占空间通俗的讲#xff1a;空值就像是一个真空转态杯子#xff0c;什么都没有#xff0c;而null值就是一个装满空气的杯子#xff0c;虽然看起来都是一样的#xff0c;但是有着本质的区别。例子#xff1a;创建一个test…从本质上区别1、空值不占空间2、null值占空间通俗的讲空值就像是一个真空转态杯子什么都没有而null值就是一个装满空气的杯子虽然看起来都是一样的但是有着本质的区别。例子创建一个test表colA是不可以存放null值的colB是能存放null值的。1 CREATE TABLE test (2 colA varchar(255) NOT NULL,3 colB varchar(255) DEFAULT NULL4 ) ENGINEInnoDB DEFAULT CHARSETutf8;插入一个null值试试会发生什么情况1 INSERT INTO test(colA, colB) VALUES (NULL, NULL);//出现报错原因是colA是不能插入null值。那么如果两个字段同时插入空值会怎么样。1 INSERT INTO test(colA, colB) VALUES (, );插入成功说明字段即使设置为null值的时候是可以插入空值的---------------------------------------------------------------查询---------------------------------------------------------现在表里有三条数据接下来我们使用 is not null 和 检索数据表里的数据1、使用IS NOT NULL 的查询1 SELECT * FROM test WHERE colA IS NOT NULL1 SELECT * FROM test WHERE colB IS NOT NULL结论使用 IS NOT NULL 查询不会过滤空值但是会过滤掉NULL。2、使用 的查询1 SELECT * FROM test WHERE colA ;1 SELECT * FROM test WHERE colA ;结论使用 会过滤掉NULL和空值。3、使用 count 查询1 SELECT COUNT(colA) FROM test;1 SELECT COUNT(colB) FROM test;结论使用 count 会过滤掉 NULL 值但是不会过滤掉空值。总结1、空值不占空间NULL值占空间(占用一个字节)。2、当字段不为NULL时也可以插入空值。3、当使用 IS NOT NULL 或者 IS NULL 时只能查出字段中没有不为NULL的或者为 NULL 的不能查出空值。4、使用 查询时会筛选掉空值和NULL值。5、使用 count 统计时会过滤掉 NULL 值但是不会过滤掉空值。