SQL语句编写规范
1.注释
不换⾏的简单注释,在注释⽂字前⽤" -- "
多⾏的注释⽤ " /* .... */"
2.⼤⼩写规范
SQL语句中的所有保留字均需⼤写,且不要使⽤缩写
例: ALL, AS,CASE,CREATE,JION,LEFT,RIGHT,NOT, ON,OUT,SCELECT,TABLE,VIEW等
3.缩进与换⾏
将SQL语句按照⼦句分⾏编写,以SELECT、FROM、WHERE、UPDATE、INSERT为起始另起⼀⾏,尽量对齐各⼦句的起始位置
1. 逗号放在每⾏字段的开头。
2. 分号放在SQL语句的末尾。
3. 每⾏宽度不超过120字符(每个字符为8个点阵宽),超过⾏宽的代码应换⾏并与上⾏对齐编排。
4. 把AS部分和相应字段放在同⼀⾏。
5. 当多个字段包含“AS”时,建议尽量将各“AS”对齐在同⼀列上。
6. 同⼀⼦句中,应排齐“WHERE”、“AND”、“OR”这三个单词的末尾。
注:缩进时不建议使⽤Tab,建议使⽤4个空格。
4. ⼦查询嵌套
对于复杂语句,代码的分层编排⾮常重要,⼀般对嵌套语句的格式有以下两点要求:
insert语句字段顺序1. 对应的括号应尽量排在同⼀列。
2. 同⼀级别的⼦句内部要对齐。
5. 表别名
1. 表别名建议以简单字符命名。
2. 多层次的嵌套⼦查询别名需体现层次关系。
3. 对于同⼀层的多个⼦句,建议别名采⽤相同前缀附加不同数字后缀(1、2、3…)的形式,以便识别与区
分⼦句关系。
4. 在需要的情况下对表别名添加注释
6. 运算符前后间隔要求
算术运算符、逻辑运算符的前后⾄少保留⼀个空格。
7. 临时表
在语句中尽量使⽤可变临时表,通过临时表的使⽤体现逻辑和加⼯的流程
8. GROUP BY / ORDER BY
在查询语句的ORDER BY和GROUP BY操作中,允许⽤户⽤字段序号代表字段,例如“group by[第⼀个字段]”
可以写为“group by 1”。但是不允许字段名和序号同时出现,应保证采⽤⼀种模式时,不出现另⼀种模
式。
group by和order by的⽰例中的两种写法是等价的,但不能混⽤。
9. 字段类型
字段在做⽐较或转换的时候应该使⽤显式的写法对数据做处理,以防⽌因字段格式的差异导致执⾏失败,
如:
• ⽂本:在访问⽂本字段时建议做trim()处理,去除多余空格。例如,table_A.name的某值
为’Lucy',table_B.name的某值为’Lucy ',若不进⾏处理,在做name等值匹配时这两条的⽐较结果将
是false。
• ⽇期: 执⾏⽇期相关运算时,必要时应⽤形如“CAST(‘20121231’AS DATE FORMAT ‘YYYYMMDD’)”的语句做格式转化,防⽌录⼊数据时以STRING类型保存的⽇期字段,在计算时被视为
表达时间的特有类型
(如date、timestamp)处理,导致结果异常。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论