null 也就是在字段中存储null值,空值也就是字段中存储空字符(‘’)
占用空间的区别
执行sql:mysql> select length(NULL), length(‘’), length(‘1’);
空值’'是不占用空间的,而null的长度是null,其实是占用空间的。mysql的文档中也写:
NULL columns require additional space in the row to record whether their values are NULL.
NULL列需要行中的额外空间来记录它们的值是否为NULL。
插入/查询 方式区别
如果单纯去查null列值,则使用 is null去查,单纯去查空值’',则使用 = ‘’ 查询。
conunt
使用count() 统计会过滤掉null值,但是不会过滤掉空值。