show variables
Mysql服务器SQL模式 (官方精译) MySQL服务器可以在不同的SQL模式下运行,并且可以根据sql_mode系统变量的值对不同的客户端应用不同的模式
属性就看你的这个字段是不是主键或者是外键选择是null的话,就可以为空,就在添加这个字段可以不用插入数据,也可以插入数据的
选择not null的话,就代表这个字段必须得填写内容,不填写就报错
例子1:字段value2的属性不是NOT NULL
表里保存的数据如下:
例子2:
执行 *** 作:SELECT CONCAT('T','E',1,'test')
结果如下:
执行 *** 作:SELECT CONCAT('T','E',null,'test')
例子3:
执行 *** 作:SELECT COUNT(value2) FROM test
1、空值是不占用空间的
2、mysql中的NULL其实是占用空间的,下面是来自于MYSQL官方的解释:
“NULL columns require additional space in the row to record whether their values are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byte.”
NULL列需要在行中额外的空间来记录它们的值是否为NULL。对于MyISAM表,每个空列都多取一位,四舍五入到最近的字节。
打个比方来说,你有一个杯子,空值代表杯子是真空的,NULL代表杯子中装满了空气,虽然杯子看起来都是空的,但是区别是很大的。
因为NULL 其实并不是空值,而是要占用空间,所以mysql在进行比较的时候,NULL 会参与字段比较,所以对效率有一部分影响。(待认证)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)