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

MSSQL
无数据库日志文件恢复数据库方法两则(一)
SQLServer编写存储过程小工具(一)
SQLServer编写存储过程小工具(二)
SQLServer编写存储过程小工具(三)
Eclipse+JBoss+MySQL开发环境设置
MYSQL使用简述
一些有用的sql语句实例
枚举SQLServer的实例
SQLServer应用程序中的高级SQL注入
SQL Server数据库超级管理员账号防护知识
讲解如何实现互联网上数据库的安全
SQL 2005数据库转到SQL 2000的步骤讲解
带你轻松接触数据库生成xml的两个方法
用MS SQL Reporting Services生成报表
保护SQL Server的十个步骤
关于SQL SERVER的一些安全问题
SQL Server 2008数据库中使用表值参数
SQL Server 2005中用存储过程实现搜索功能
MS SQL数据库置疑解决办法
SQL Server密码管理的六个危险判断

MSSQL 中的 谈SQL编写规范


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-12-26   浏览: 383 ::
收藏到网摘: 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编写规范这篇文章能够带给大家帮助。更好的应用到数据库开发之中。