当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 谈SQL编写规范

MSSQL
在SQL Server 2005数据库中更改数据架构
建立适当的索引是实现查询优化的首要前提
巧用一条SQL 实现其它进制到十进制转换
处理SQL Server 2000的命名实例和多实例
解析:怎样掌握SQL Server中的数据查询
教你轻松掌握常用的子句、关键词和函数
如何获取SQL Server数据库元数据的方法
分析SQL Server中数据库的快照工作原理
汇总数据库备份 还原 压缩与数据库转移的方法
完全讲解 使用MSCS建立SQL Server集群
SQL Server 2005 内置工具建审查系统
在SQL Server计算机上运行病毒扫描软件
教你如何升级SQL Server数据库系统
SQL Server中处理空值时涉及的三问题
教你为SQL Server数据库构造安全门
在SQL Server中编写通用数据访问方法
针对SQL Server中业务规则链接的分析
运行SQL Server的计算机间移动数据库
怎样在不同版本SQL Server中存储数据
认识那些被忽略的SQL Server注入技巧

MSSQL 中的 谈SQL编写规范


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-12-26   浏览: 362 ::
收藏到网摘: n/a

 

1、大小写

大写T-SQL 语言的所有关键字,谓词和系统函数。变量名称及游标名称使用Pascal样式。数据类型定义使用全部小写。

 

2、使用“;

使用“;”作为 Transact-SQL 语句终止符。虽然分号不是必需的,但使用它是一种好的习惯。

 

3、存储格式

尽量采用Unicode数据存储格式,提高可移植性和兼容性,实际应用中尽量使用ncharnvarcharntext代替charvarchartext

 

4 类型选择

如果字符具有明确的长度,使用nchar代替nvarcharchar代替varchar

在只有两个可能数值时,使用bit代替intsmallint

SQL Server 2005中,使用nvarchar(MAX)代替ntextvarchar(MAX)代替textvarbinary(MAX)代替image

在特殊的数据表结构中可考虑xml数据类型,达到事半工倍的效果。

 

5、默认值

在建立数据表时,尽量使用默认值代替NULL值。比如设置CreatedDate列默认值为GETDATE()。在可行的情况下设置字段为不允许空。

 

6、字段长度

始终指定字符数据类型的长度,并确保允许用户可能需要的最大字符数,避免超出最大长度时出现字符丢失现象。对于字符型数据,建议采用2n次方来定义数据长度。

示例:nvarchar(32)

  varchar(64)

 

7 使用“'

T-SQL 代码中为字符常量使用单引号,避免使用双引号。

 

8、语句缩进

一个嵌套代码块中的语句使用四个空格的缩进。使用Microsoft SQL Server Management Studio ,选择“工具”菜单,打开“选项”菜单,在选项对话框中选择文本编辑器->纯文本->制表符,选中“插入空格单选框”,设置“制表符大小”为4,缩进大小为“4”。

 

9、语句换行

建议SQL代码每行以关键字或“'”开头。

 

10   语句分割

使用一个(而不是两个)空行分隔 T-SQL 代码的逻辑块。

 

11   使用“*

尽量避免在任何代码中使用 SELECT *”。

 

12  表名别名

表名别名要简短,但意义要尽量明确。通常使用大写的表名作为别名,使用 AS 关键字指定表或字段的别名。

 

13  类型转换

不要依赖任何隐式的数据类型转换,不要假定 T-SQL 会进行必要的转换。例如,把数字变量赋予字符值。相反,在为变量赋值或比较值之前,应使用适当的 CONVERT 函数使数据类型相匹配。

 

14  数值比较

不要将空的变量值直接与比较运算符(符号)比较。如果变量可能为空,应使用 IS NULL IS NOT NULL 进行比较,或者使用 ISNULL 函数。

 

15   排序

决不要依赖 SELECT 语句会按任何特定顺序返回行,除非在 ORDER BY 子句中指定了顺序。通常,应将 ORDER BY 子句与 SELECT 语句一起使用。可预知的顺序(即使不是最方便的)比不可预知的顺序强,尤其是在开发或调试过程中。在返回行的顺序无关紧要的情况下,可以忽略 ORDER BY ,减少资源开销。

 

16  Unicode字符串

Unicode字符前面使用N前缀,避免引起数据的不一致。

 

17  BEGIN...END

SQL代码快中尽量使用BEGIN...END 语句块,提高代码可阅读性。

 

18   TRY

SQL Server 2005中对一些可能执行失败的语句尽量使用TRY块。Transact-SQL 语句组可以包含在 TRY 块中,如果 TRY 块内部发生错误,则会将控制传递给 CATCH 块中包含的另一个语句组。

 

19   TOP子句

SQL Server 2005中加强了TOP的使用,尽量使用TOP(变量)来减少SQL拼串现象。

 

20  TRANSACTION编写

只要在例程中使用多个数据库修改语句,包括在一个循环中多次执行一个语句,就应考虑声明显式事务。在SQL SERVER 2005 中,增加了TRY块可进行很好的应用。

 

21  存储过程

在编写存储过程时,使用PROCEDURE 代替 PROC 简写。

示例:CREATE PROCEDURE [dbo].[存储过程名字]

总结

最后,希望SQL编写规范这篇文章能够带给大家帮助。更好的应用到数据库开发之中。