Sql 代码规范说明
对于程序工作者来说,代码的阅读必不可少,好的代码让人读起来一目了然、神清气爽,做代码调试也可以很开的捋顺逻辑定位问题,但是如果遇到一些可读性较差,毫无规矩可言的代码,那真的比吃了翔都难受啊,如果再让你在这个基础上做点东西或者持续维护这些代码,真的能让人憋屈死,所以代码的书写必须条理清晰,遵循规矩,虽说SQL 的代码语法相比其他的java、python 等高级语言要差了几个档,但是对于一门数据查询语言来说,语法简答并不意味着没有结构可言,接下来我们共同学习一下SQL 的代码规范。
我们分别从代码的注释、主体结构和最终的脚本命名三个方面讨论SQL 的规范:
- 代码的注释:
1、代码块的注释使用 " /* .... */“
每个SQL 查询代码的开始段,必须对整个代码进行简单的说明,说明内容包括:书写人、业务内容、书写时间、注意事项等;
2、不换行的简单注释,在注释文字前用" -- “
1)针对字段的解释,放到这个字段后面;
EG:count(distinct salesNo) as CustNum -- 统计是客流量
2)针对行的解释,一般会单独取一行,避免某行代码过长;
EG :-- 2017年7月2号计算每个会员购买金额占总体金额的比
- 主体结构规范:
1、查询相关关键字单独再起一行;select /from /where/group by /having/order by;
2、select 之后的字段 之间使用 ‘,’分隔,逗号统一放到各字段的前面或者后面;
3、select 的相关字段,一般是缩进4个空格或者6个空格;
4、代码的分号一般放到代码的结尾;
5、对于子查询嵌套使用规则:
1)子查询语句使用()进行包裹,子查询语句单独另起一行;
2)同一级别的子句内部要对齐;
6、表别名命名规则:
1)表一定要有别名例如:单个字母,字母加数字;
2)多个表(t特别是有子查询嵌套查询)在关联的时候有相应临时表命名有顺序,例如:t1,t2,t3;A,B,C;
- 脚本命名
1)代码开发完成后,及时进行代码保存;
2)文件格式:.sql 结尾脚本命名;
3)名字缩写+内容+日期;
Sql 代码规范说明的更多相关文章
- SQL代码规范
1. 建表规约 1) 表中字段名称 a) 表达是否概念的字段,必须使用is_xxx的方式命名,数据类型是bit b) 小数类型为decimal,禁止使用float和double. 说 ...
- SQL开发规范
一.SQL代码规范: 1.头部 --************************************************************************** --所属主题: ...
- Java代码规范
Java代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改.本文档中没有说明的地方,请参看SUN Java标准代码规范.如果两边有冲突,以SU ...
- 代码规范和常用的js插件以及测试工具
1.代码规范 .model层 1.1.1database file_proerty 1.1.2java fileProperty. 1.2.字段要有空指针 1.3.不创建爱数据库外键约束 1.4.已知 ...
- Android开发代码规范(转)
Android开发代码规范 1.命名基本原则 在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在为一个资源其名称 ...
- 漫谈PHP代码规范
前言 虽说PHP是世界上最好的语言,但是写出来的PHP代码却往往不是最美观的.究其原因,可能正式因为PHP简单易上手,适合快速迭代的特性,导致了我们沉浸在迅速完成需求迭代的窃喜中,却忘记了规范性.忽略 ...
- 常用 SQL Server 规范集锦
常用 SQL Server 规范集锦 常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数 ...
- JavaScript 代码规范
所有的 JavaScript 项目适用同一种规范. JavaScript 代码规范 代码规范通常包括以下几个方面: 变量和函数的命名规则 空格,缩进,注释的使用规则. 其他常用规范-- 规范的代码可以 ...
- 【Android 应用开发】 Android 相关代码规范 更新中 ...
. 简介 : Android 常用的代码结构, 包括包的规范, 测试用例规范, 数据库模块常用编写规范; 参考 : 之前写的一篇博客 [Android 应用开发] Application 使用分析 ; ...
随机推荐
- MySQL数据库文件的移动和权限设置
新型数据库层出不穷,MySQL一幅日薄西山的样子.其实还有很多人或者偏爱.或者使用以前遗留的系统,仍然生活在MySQL的世界. 我也是有很久不用了,这个很久超过十年. 不过前几天有个朋友让我帮忙为他们 ...
- HTTP常见响应状态码及解释、常用请求头及解释
1.HTTP常见响应状态码及解释2XX Success(成功状态码) 200 表示从客户端发来的请求在服务器端被正常处理204 该状态码表示服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主 ...
- docker打包python应用
操作系统 : CentOS7.5.1804_x64 docker版本 : 18.06.3-ce 本文描述了怎么将简单的python应用打包成docker镜像的过程. 本文涉及文件目录结构如下: [ro ...
- 从数据表字段 float 和 double 说起
今天在公司讨论项目重构的问题时,公司的 DBA 针对表中的字段大概介绍了一下 float 和 double 的存储方式.然后,我发现这个问题又回到了浮点数类型在内存中的存储方式,即 IEEE 对浮点数 ...
- javascript截取字符串的最后几个字符
在JavaScript中截取字符串一般是使用内置的substring()方法和substr()方法,这两个方法功能都很强大,也都能实现截取字符串中的最后几个字符. substring()方法 Java ...
- Java描述设计模式(08):桥接模式
本文源码:GitHub·点这里 || GitEE·点这里 一.桥接模式简介 1.基础描述 桥梁模式是对象的结构模式.又称为柄体(Handle and Body)模式或接口(Interface)模式.桥 ...
- ASP.Net 连接多个数据库之间的切换
本次两个的两个数据是SQL Server 和ORCAL 首先在Web.congfig中 <connectionStrings> </connectionStrings>里面添加 ...
- ABP入门教程8 - 应用层创建应用服务
点这里进入ABP入门教程目录 创建目录 在应用层(即JD.CRS.Application)下创建文件夹Course //用以存放Course相关应用服务 在JD.CRS.Application/Cou ...
- SQL Server通过定义函数返回字段数据列表模板-干货
CREATE FUNCTION [dbo].[GetReportDWCustomerOrder] ( @YearDate DATETIME, 参数条件..... @Categor ...
- 使用Anaconda3的Docker镜像
假设本地 Ubuntu 服务器已经安装好了Docker,这里讲述一下如何开始运行Anaconda3的Docker镜像: 1. 搜索镜像 搜索我们想要的anaconda镜像: docker search ...