null用不用大写mysql_MYSQL NULL值特性

NULL是一种“没有类型”的值,通常表示“无值”,“未知值”,“缺失值”,“超界”,“不在其中”等,我们在日常运用中很容易和NULL字符串混淆,这里大致整理了下NULL值的一些特性,以便能够正确使用NULL值。

1,创建表时字段时若未添加默认值,则默认为NULL值

76903e0eb5013376bc68b9fe9738e2c4.png

5287e44208f3a9e6f55b36d5585b59a8.png

2,NULL值和NULL字符串的区别

1)NULL值不区分大小写,查询时都显示为大写NULL,而NULL字符串则显示为插入时候的大小写,查询的时候根据字符集是否区分大小写筛选,或者通过语句级的collate或binary指定是否区分大小写。

2)NULL字符串可以当作普通字符串进行处理,而NULL值的判断只有is null和 is not null,见第5点

77ae74d1f556a7dfe093c51df1ac6981.png

103d0c93bacc3c3862585bb7ae2dcabd.png

3,插入数据时若不指定值,如果没其它默认值,会用默认值NULL

a2e88643ace9e5ab343fd4cbcaaee49c.png

4,当插入大写NULL字符时,就很难区别NULL是NULL值还是NULL字符串了,这时需要用到NULL值的判断,NULL值的判断只有is NULL和is not NULL

ed0332f70ab5e4f10e2be75f674e5e79.png

通过肉眼很难区别,这里通过NULL值的判断,可以看到id2为NULL值的只有3行,非NULL值的有7行,而为NULL字符串的有4行

8f0fc371f47efeb9e0b0e370a32f5962.png

5,SQL里面对NULL值的处理函数有isnull(expr)(返回is NULL的逻辑判断结果)和ifnull(expr1,expr2)(如果expr1 is null则返回expr2,否则返回expr1)

6bfc7fa9c051fe9d898231f104746148.png

6,和NULL值的比较运算和算术运算,结果仍为NULL值,但是<=>运算符时,NULL<=>NULL为真

bdbb26a35ad881425d85c1a3492fb7b4.png

1bbce53dafe6c51c0ca5c6bdc8447798.png

f6d1b185a4dd6755a8f3b9b2fbde6431.png

7,和NULL值的逻辑运算,is NULL运算只有null is null为真返回数字1,is not NULL运算只有 null is not null为假返回数字0

5f28b78605ff4c15776a4cc13343acc9.png

8,mysql会把单独的\N(区分大小写)当作NULL值

029129325080d822291c4454f1542ca0.png

9,NULL值和空字符’’不一样,查询字段为空字符时,可以用等号,不考虑长度,都显示为空,但是长度不一样

dda52466644a6b88e5636b6f2556be9f.png

a89e82eb91f3948f97277f882a42f6d2.png

35e5de39e4843a35b082b2d8b8e7e89d.png

945c23f8a8597131ad1becd50b40d75e.png

2222c0dfb3ce37500a84c3bc51d0db04.png

10,空字符和其他字符做算术运算时当作0处理,但是当做分母时运算结果为NULL

1b466741890d298d2686a3ebe6e3706b.png

11,NULL值会被count(字段)函数过滤,但是在count(*)中不会被过滤

8a1e0809385877dbb48940ded8be5600.png

653739ea2cabf8e4168a70b12f02475e.png

6b018ed103511a3f58bb677aabac84dc.png

12,在group by函数中NULL会当作同一个值放在最最小值前

16a92aab4a22e17a8e79b959da434c41.png

13,其他一些函数中如果有NULL值,返回结果为NULL,如:

fa36568b1a03d6e220feacfb2db72e21.png

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值