MySQL 中NULL和空值的区别
展开全部
NULL 是一种特别的类型。严格来说不属于任何类型。
空值不过是 某种类型(不包括NULL,NULL类型只有NULL)中的默认初始化的值。
如int类型,空值是0。varchar空值为''。bool是false。判断方式就是 = 字符串可用 like
而NULL会单独占用1个字节表示。其值就是NULL。判断方式就是用 is null 或者 is not null。
空值不过是 某种类型(不包括NULL,NULL类型只有NULL)中的默认初始化的值。
如int类型,空值是0。varchar空值为''。bool是false。判断方式就是 = 字符串可用 like
而NULL会单独占用1个字节表示。其值就是NULL。判断方式就是用 is null 或者 is not null。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
空值('')是不占用空间的
NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效率的事情的发生。
注意:
count()统计某列的记录数的时候,如果采用的NULL值,会别系统自动忽略掉,但是空值是会进行统计到其中的。
对于timestamp数据类型,如果往这个数据类型插入的列插入NULL值,则出现的值是当前系统时间。插入空值,则会出现 '0000-00-00 00:00:00'
NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效率的事情的发生。
注意:
count()统计某列的记录数的时候,如果采用的NULL值,会别系统自动忽略掉,但是空值是会进行统计到其中的。
对于timestamp数据类型,如果往这个数据类型插入的列插入NULL值,则出现的值是当前系统时间。插入空值,则会出现 '0000-00-00 00:00:00'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询