数据库NULL的一些特性

本文探讨了数据库中NULL的特殊性质,包括它不等同于0或空字符串,不支持直接比较,以及在GROUP BY、连接操作和COUNT函数中的行为。NULL在比较时总是返回FALSE,并且在多表联查时可能导致索引列数不一致。了解这些特性对于优化数据库查询至关重要。
摘要由CSDN通过智能技术生成

今天总结一下数据库NULL的一些特性。

NULL不等于0,也不等于空字符串,而是一个特殊的标志位。大小是1字节。

NULL不支持比较,无法和数据比较大小。
常见的逻辑:

NULL > 0 返回FALSE。
NULL <0 返回FALSE。
NULL == ‘NULL’,返回FALSE。

NULL == ‘’ ,FALSE

NULL == NULL 返回 FALSE。
NULL != NULL 返回FALSE。

当比较不同值的时候NULL值也不显示。当比较相同值的时候NULL也不显示。
当调用这个字段的时候,必须要 is NULL 或者 is NOT NULL。


当使用GROUP BY 的时候,NULL单独为一组。

当使用表连接的时候,如果关联的键值为NULL,那么左右链接都没有数据。
所以,多表联查索引发现列数不一致,可能是因为关联的列有NULL这个列。

count(*)的时候即使有NULL不影响计数。

即使不允许重复的主键,也允许多个字符串重复为NULL。但是当创建索引的时候,不支持其中有一些列为NULL。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值