当前位置: 首页 > news >正文

政府网站建设规划买链接网站

政府网站建设规划,买链接网站,做网站的公司一般怎么培训销售,为什么网页打不开了在使用数据库时,有时需要表示未知值,这时可以使用NULL值表示。引入NULL值后,会对原有的使用产生影响,这里记录下常见的场景,以做记录。 NULL含义 在MySQL中,NULL值表示一个未知值,表示不可知、…

在使用数据库时,有时需要表示未知值,这时可以使用NULL值表示。引入NULL值后,会对原有的使用产生影响,这里记录下常见的场景,以做记录。

NULL含义

在MySQL中,NULL值表示一个未知值,表示不可知、不确定。NULL值不同于0或空字符串’'。NULL不与任何值相等,即使是其本身。

NULL的存储

表中的某些列可能会存储 NULL 值,如果把这些 NULL 值都放到记录的真实数据中会比较浪费空间。MySQL 使用Compact Row Format记录NULL值。具体来说,Compact Row Format 中每个行记录都会有一个Bit vector来记录行中出现NULL的字段,长度为 N / 8 向上取整,其中 N为值NULL的字段数。
二进制位的值为1时,代表该列的值为NULL。
二进制位的值为0时,代表该列的值不为NULL。

NULL使用场景

NULL的比较

NULL不与任何值相等,即使是其本身。如果将NULL值与另一个NULL值或任何其他值进行比较,则结果为NULL。
为了实现对NULL的比较,MySQL提供了三大运算符:
(1) IS NULL: 当列的值是 NULL,此运算符返回 true。
(2) IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
(3) <=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。
注意,不能使用 = NULL 或 != NULL 在列中查找 NULL 值。

NULL与SELECT

执行SELECT操作时,如果列的值为NULL,可以使用 IS NULL、IS NOT NULL、<=> 运算符。

NULL与COUNT

执行COUNT操作时,如果使用COUNT(column_name)统计行数,需要注意列值为空的情况。如果column_name是非主键字段,那么只会统计列值为NULL的行数,需要说明的是,就这种情况下,不管在 InnoDB 引擎 还是在 MyISAM引擎中,非主键这个字段如果添加了索引且覆盖该字段,则可基于索引统计行数,如果未添加索引,则会触发全表扫描。
更多COUNT函数的使用可以参考笔者MySQL中count(*)和count(1)和count(column)使用比较一文。

NULL与数据运算

NULL值与其他值进行运算时,结果总是为NULL。且不同的运算符可能不能容忍NULL的场景,引入空指针问题等。

NULL与索引

MySQL中某一列数据含有NULL时,并不一定会造成索引失效。在有NULL值的字段上使用常用的索引,如普通索引、复合索引、全文索引等不会使索引失效。但是在使用空间索引的情况下,该列就必须为 NOT NULL。

NULL与排序

在使用ORDER BY排序的时候,如果是升序排序(ASC),那么 NULL 值在所有其他值之前;如果是降序排序(DESC),那么 NULL 值在所有其他值之后。注意,这种处理并不是说明NULL值比任何值大或小,只是一种约定。

总结

在MySQL中,引入NULL值表示表示一个未知值,表示不可知、不确定。尽管提供了NULL值,但是在日常开发中,不建议使用NULL值,建议为其设置默认值,如空字符串或 0 等。如果必须使用NULL,对于判空的场景,可以使用IS NULL或 IS NOT NULL或<=>。如果需要统计行数,需要注意COUNT(column_name)不能统计非NULL的值。如果需要执行计算,也要注意NULL与任何值进行运算时,其结果均为NULL,且可能引入空指针的问题。此外,引入NULL值后,还需注意索引是否会失效,如在空间索引中,列值必须为 NOT NULL。在使用ORDER BY排序时,如果是升序排序,那么 NULL 值在所有其他值之前;如果是降序排序(DESC),那么 NULL 值在所有其他值之后。
简言之,数据库需要对 NULL 值进行特殊处理,针对 NULL 的值使用,有以下建议:
【建议】不推荐使用NULL值,建议为其设置默认值。
【建议】推荐使用 IS NULL(cloumn) 来判断 NULL值。

参考

https://zhuanlan.zhihu.com/p/140089695 MySQL:细说NULL
https://www.runoob.com/mysql/mysql-null.html MySQL NULL 值处理
https://www.yiibai.com/mysql/null.html MySQL NULL值简介
https://zhuanlan.zhihu.com/p/611947091 MySQL允许字段为null会导致5个问题,个个致命!
https://www.cnblogs.com/xiaolincoding/p/16941244.html MySQL 的 NULL 值是怎么存储的?
https://juejin.cn/post/7028203652099604516 深入探究MySQL中的NULL
《Java开发手册》 阿里巴巴

http://www.hkea.cn/news/81484/

相关文章:

  • 百度搜索什么关键词能搜到网站seo高效优化
  • 网站搭建分站需要多少钱互联网营销策划
  • 音乐网站的音乐怎么做seo先上排名后收费
  • 清河做网站报价seo实战培训王乃用
  • wordpress 回收站在哪个文件夹营销方式和手段
  • 垂直型电商网站如何做快速排名软件哪个好
  • 做产品推广有网站比较好的免费自助建站平台
  • 番禺网站建设公司排名百度推广页面投放
  • 沈阳做微网站百度收录刷排名
  • 网站建设与管理技术发展seo是什么意思如何实现
  • 手机游戏开发制作公司最新seo视频教程
  • 网站优化过度被k长春seo排名公司
  • wordpress移除谷歌字体seo网站推广与优化方案
  • 十大景观设计公司排名seo权重查询
  • 水友做的yyf网站十大免费引流平台
  • 东莞公司网站制作百度识图网页版 在线
  • 企业级网站内容管理解决方案网站关键词快速排名服务
  • 影视采集网站怎么做收录关键词是网站seo的核心工作
  • 开发一个网站需要多少时间百度账号免费注册
  • 化妆品网站主页设计长沙关键词优化方法
  • 南阳建网站企业百度推广优化工具
  • 怎样把自己做的网页放在网站里如何做宣传推广营销
  • 七谷网络工作室重庆优化seo
  • 东莞网站建设规范软文内容
  • 项目网站建设业务分析搜索优化的培训免费咨询
  • linux做网站服务器吗关键词上首页软件
  • 西安网站建设行业动态手机营销软件
  • 做推送的网站推荐今日新闻摘抄50字
  • 想在自己的网站做支付优化公司治理结构
  • 国内一家做国外酒店团购的网站网络推广优化是干啥的