本文主要是介绍MySQL不使用null的一百个理由,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MySQL NULL 值处理
我们知道 MySQL 使用 SQL SELECT
命令及WHERE
子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL
时,该命令可能就无法正常工作。
为了处理这种情况,MySQL提供了三大运算符:
IS NULL
: 当列的值是NULL
,此运算符返回true
。IS NOT NULL
: 当列的值不为NULL
, 运算符返回true
。<=>
: 比较操作符(不同于=
运算符),当比较的的两个值相等或者都为NULL
时返回true
。
关于NULL
的条件比较运算是比较特殊的。不能使用 = NULL
或!= NULL
在列中查找NULL
值 ,当然也不能使用<>
;
在 MySQL 中,NULL
值与任何其它值的比较(即使是 NULL
)永远返回 NULL
,即 NULL = NULL
返回 NULL
;
MySQL中大部分运算遇到
NULL
都返回NULL
MySQL 中处理 NULL 使用 IS NULL
和 IS NOT NULL
运算符。
最容易遇到的坑:
user表:
1. NULL与查询
SELECT * FROM `user` WHERE gender <> 1
返回
因为null<>1
返回null
,不是true
,所以最终结果中没有null
值列;在做统计时也会造成数据不准确问题;
2. NULL与Count
COUNT(*)
:不管字段为什么,计算存在的行SELECT COUNT(*) FROM `user`;
COUNT(column_name)
:结果不包含字段为NULL的记录SELECT COUNT(gender) FROM `user`
这篇关于MySQL不使用null的一百个理由的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!