一:首先,认识空值和Null的概念
1.空值:("")在MySql中不占用空间。
2.Null:(Null)在MySql中占用空间。
举例解释:有一个水杯,空值表示水杯是内是真空的,Null表示杯子里有空气。
二:查询方法
="" | 查询空值 |
!="" | 查询非空值 |
is null | 查询Null |
is not null | 查询非Null |
注意,查询null只能使用 is ,而不能使用 =
三:优化
尽量避免NULL:应该指定列为NOT NULL,除非你想存储NULL。在MySQL中,含有NULL的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替NULL。
四:补充
1.使用count统计条数时,空值会被统计,Null不会被统计。
2.对于timestamp数据类型,如果往这个数据类型插入的列插入NULL值,则出现的值是当前系统时间。插入空值,则会出现 '0000-00-00 00:00:00'
3.
NULL表