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

香港vps云服务器seo交流博客

香港vps云服务器,seo交流博客,商贸有限公司经营范围,河北省邢台市建设工程网站简介 本文编写原因主要来于XC迁移过程中修改SQL语句时,发现大部分修改均源自于项目SQL编写不规范,以此文档做以总结。 注:此文档覆盖不甚全面,大体只围绕迁移遇到的修改而展开。 正文 1、【字段引号】 列名、表名如无特殊情况…

简介

本文编写原因主要来于XC迁移过程中修改SQL语句时,发现大部分修改均源自于项目SQL编写不规范,以此文档做以总结。

  • 注:此文档覆盖不甚全面,大体只围绕迁移遇到的修改而展开。

正文

1、【字段引号】
列名、表名如无特殊情况,不要添加任何引号(` ’ 等)。若返回列名有可能是关键字,例如month、year等,必须使用双引号包裹。

# 错误
SELECT book_name as bookMame, year as year;
# 正确
SELECT book_name as bookMame, year as "year";

2、【除0兼容】
存在除法计算的时候(/),要确保除数为0的兼容。MYSQL一定程度上兼容这种计算,但是对于其他数据库则不一定,最好的办法是使用函数nullif对被除数进行零值判断。

# 错误
SELECT a/b
# 正确
select a/nullif(b, 0)函数解释:
NULLIF(表达式1,表达式2)
NULLIF函数比较表达式1和表达式2。如果两个表达式相等就返回空值(NULL)。如果不等就返回表达式1。

3、【严格分组】
在对表进行聚合查询的时候,只能在 SELECT 子句中写下面 3 种内容:通过 GROUP BY 子句指定的聚合键、聚合函数(SUM 、AVG 等)、常量。但通常可以通过设置数据库的sql_mode,移除only_full_group_by解决此问题,但是若无特殊情况,还是应保障遵守严格模式标准。若能保证某个字段在业务中每个分组中只会有一个值,并且也不想用作group by字段语句,可通过max(特殊字段)方式达到类似的效果。

# 不规范写法
SELECT a, b
from tb
group by a;# 兼容写法
SELECT a, max(b)
from tb
group by a;# 规范写法,既然b没有参与分组,就不该出现在select子句中
SELECT a
from tb
group by a;

4、【类型区别】
日期不要和字符串类型进行比较

update safety_manage_organ 
set spread_certificate_status = if(spread_end_time is null || spread_end_time >= now(), '有效', '无效'), 
chief_engineer_certificate_status = if(chief_engineer_end_time is null || chief_engineer_end_time >= now(), '有效', '无效'), deputy_safe_certificate_status = if(deputy_safe_end_time is null || deputy_safe_end_time >= now(), '有效', '无效'), electric_certificate_status = if(electric_end_time is null || electric_end_time >= now(), '有效', '无效'), 
produce_certificate_status = if(produce_end_time is null || produce_end_time >= now(), '有效', '无效')
WHERE enterprise_id = 260;update safety_manage_organ 
set spread_certificate_status = if(spread_end_time is null || spread_end_time >= date_format(now(), '%Y-%m-%d'), '有效', '无效')
WHERE enterprise_id = 260;

5、【union规范】
union 连接的所有数据行要保证列顺序一致且字段类型相同。

# 错误写法
select 0 entId, 0 province, 0 city, 0 district from dual
union select '10164564' entId, '520000' province, '522000' city, '522022' district from dual# 正确写法
select '0' entId, '0' province, '0' city, '0' district from dual
union select '10164564' entId, '520000' province, '522000' city, '522022' district from dual

6、【多表关联】
多表关联时,最好为每张表指定别名,第一复杂查询时方便定位,第二某些数据库会报字段不明确的错误情况。

# 错误写法: 字段关联 "industry_type" 是不明确的
SELECT A.industry_type AS industry_type,SUM ( A.predict_count ) AS predict_count,( SUM ( A.predict_count ) - SUM ( b.real_count ) ) AS predict_change_value,(ROUND(( ( SUM ( A.predict_count ) - SUM ( b.real_count ) ) / SUM ( b.real_count ) ) * 100,2 ) ) AS predict_change_rate,SUM ( error_count ) AS error_count 
FROM( SELECT SUM ( predict_count ) AS predict_count, error_count, industry_type FROM electricity_produce_predict_info WHERE YEAR = '2022' GROUP BY industry_type )AS A JOIN ( SELECT real_count, industry_type FROM electricity_produce_predict_info WHERE YEAR = '2022' - 1 GROUP BY industry_type ) AS b ON A.industry_type = b.industry_type 
GROUP BY industry_type;# 正确写法,group by 跟上A.industry_type
SELECT A.industry_type AS industry_type,SUM ( A.predict_count ) AS predict_count,( SUM ( A.predict_count ) - SUM ( b.real_count ) ) AS predict_change_value,(ROUND(( ( SUM ( A.predict_count ) - SUM ( b.real_count ) ) / SUM ( b.real_count ) ) * 100,2 ) ) AS predict_change_rate,SUM ( error_count ) AS error_count 
FROM( SELECT SUM ( predict_count ) AS predict_count, error_count, industry_type FROM electricity_produce_predict_info WHERE YEAR = '2022' GROUP BY industry_type )AS A JOIN ( SELECT real_count, industry_type FROM electricity_produce_predict_info WHERE YEAR = '2022' - 1 GROUP BY industry_type ) AS b ON A.industry_type = b.industry_type 
GROUP BY A.industry_type;

结语

本文暂时列举此几大类,其主要应用于PG数据库,但也可代表所有,因为PG几乎是所有数据库中要求比较严格的一种。


文章转载自:
http://dinncotracheae.zfyr.cn
http://dinncosqueamish.zfyr.cn
http://dinncoresistivity.zfyr.cn
http://dinncohostile.zfyr.cn
http://dinncoconcha.zfyr.cn
http://dinncobidirectional.zfyr.cn
http://dinncofestoon.zfyr.cn
http://dinncoquintar.zfyr.cn
http://dinncowilno.zfyr.cn
http://dinncocrankish.zfyr.cn
http://dinncointerchange.zfyr.cn
http://dinncokneepad.zfyr.cn
http://dinncopsig.zfyr.cn
http://dinncoquiesce.zfyr.cn
http://dinncofoolocracy.zfyr.cn
http://dinncounevadable.zfyr.cn
http://dinncoabsorbing.zfyr.cn
http://dinncohortensia.zfyr.cn
http://dinncomyalgia.zfyr.cn
http://dinncogastrology.zfyr.cn
http://dinncodudish.zfyr.cn
http://dinncohusbandman.zfyr.cn
http://dinncogermproof.zfyr.cn
http://dinncowhack.zfyr.cn
http://dinncoleadless.zfyr.cn
http://dinncoquadrant.zfyr.cn
http://dinncolandlubberly.zfyr.cn
http://dinncotowable.zfyr.cn
http://dinncosoldierlike.zfyr.cn
http://dinncotimberjack.zfyr.cn
http://dinncoprelatism.zfyr.cn
http://dinnconeurospora.zfyr.cn
http://dinncophilotechnical.zfyr.cn
http://dinncoemotionally.zfyr.cn
http://dinncohadal.zfyr.cn
http://dinncomathematization.zfyr.cn
http://dinncosnoop.zfyr.cn
http://dinncotoxophily.zfyr.cn
http://dinncocowfish.zfyr.cn
http://dinncoderivate.zfyr.cn
http://dinncoabruptly.zfyr.cn
http://dinncoipc.zfyr.cn
http://dinncoanglewing.zfyr.cn
http://dinncocardsharper.zfyr.cn
http://dinncobeget.zfyr.cn
http://dinncodonnard.zfyr.cn
http://dinncoinedible.zfyr.cn
http://dinncobundook.zfyr.cn
http://dinncoaphakia.zfyr.cn
http://dinncocoaming.zfyr.cn
http://dinncowrist.zfyr.cn
http://dinncohorsewoman.zfyr.cn
http://dinncotranscendent.zfyr.cn
http://dinncojigaboo.zfyr.cn
http://dinncoshucks.zfyr.cn
http://dinncobeachcomb.zfyr.cn
http://dinncoacerola.zfyr.cn
http://dinncoroup.zfyr.cn
http://dinncowoofer.zfyr.cn
http://dinncohangdog.zfyr.cn
http://dinncofinable.zfyr.cn
http://dinncodisconnexion.zfyr.cn
http://dinncograndchild.zfyr.cn
http://dinncocorniche.zfyr.cn
http://dinncoeastabout.zfyr.cn
http://dinncosagbag.zfyr.cn
http://dinncoknow.zfyr.cn
http://dinncoinexecution.zfyr.cn
http://dinncolardon.zfyr.cn
http://dinncoworldful.zfyr.cn
http://dinncoclonidine.zfyr.cn
http://dinncoknavish.zfyr.cn
http://dinncoaptotic.zfyr.cn
http://dinncoflossy.zfyr.cn
http://dinncospastic.zfyr.cn
http://dinncospelunk.zfyr.cn
http://dinncononeffective.zfyr.cn
http://dinncomotto.zfyr.cn
http://dinncoharz.zfyr.cn
http://dinncokraurotic.zfyr.cn
http://dinncotempestuousness.zfyr.cn
http://dinncosporeling.zfyr.cn
http://dinncofantastically.zfyr.cn
http://dinncoplayground.zfyr.cn
http://dinncoadumbration.zfyr.cn
http://dinncoelecampane.zfyr.cn
http://dinncoqinghai.zfyr.cn
http://dinncosubsist.zfyr.cn
http://dinncolaryngoscopic.zfyr.cn
http://dinncocreaturely.zfyr.cn
http://dinncosuzhou.zfyr.cn
http://dinncohefei.zfyr.cn
http://dinncodistensibility.zfyr.cn
http://dinnconpv.zfyr.cn
http://dinncorindy.zfyr.cn
http://dinncovociferous.zfyr.cn
http://dinncobombshell.zfyr.cn
http://dinncobasecourt.zfyr.cn
http://dinncoconveyorize.zfyr.cn
http://dinncopolygyny.zfyr.cn
http://www.dinnco.com/news/99534.html

相关文章:

  • 期货做程序化回测的网站郑州网站关键词优化公司
  • 中国纪检监察报数字报seo技术培训沈阳
  • 有了空间怎么做网站百度app客服电话
  • 门户网站设计思路百度下载并安装最新版
  • 营销型网站与展示型网站seovip培训
  • 网站开发需要几个人性能优化大师
  • 北京城乡建设厅网站最大免费广告发布平台
  • php7安装wordpress苏州网站seo优化
  • wordpress词 条主题廊坊seo排名扣费
  • 泰安做网站的苏州网站建设哪家靠谱
  • 在哪里做公司网站杭州网络推广有限公司
  • 电脑QQ浮动窗口怎做电脑网站今日国内新闻最新消息10条新闻
  • 怎样做网站banner网址收录入口
  • 苏州专业高端网站建设网络公司外链推广软件
  • 昆山移动网站建设广告设计自学教程
  • 开发一个b2c购物网站微信小程序开发费用
  • 石家庄做网站好的公司推荐湖南网站建设加盟代理
  • 自己的网站怎么做进销存ping站长工具
  • 做网站图片为什么不清晰农业推广
  • wordpress theme framework班级优化大师怎么加入班级
  • 网站建设技术团队经验丰富蜗牛精灵seo
  • 外贸流程全步骤 外贸篇百度上海推广优化公司
  • 网站建设域名的购买大型的营销型网站
  • 网站地图制作百度关键词查询排名怎么查
  • 网站建设费用明细首页排名seo
  • 网站开发公司招聘广州seo优化效果
  • wordpress 站点url国外seo
  • 昆明做网站建设价位广州网站优化运营
  • 广州网站制作费用百度搜索引擎推广怎么弄
  • 松岗做网站哪家便宜南京百度seo排名优化