前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQLServer书写规范梳理

SQLServer书写规范梳理

作者头像
IT技术分享社区
发布2021-03-18 15:15:19
1K0
发布2021-03-18 15:15:19
举报
文章被收录于专栏:SQLServerIT技术分享社区

今天给大家分享SQLServer书写规范笔记,希望对大家能有所帮助!

1、在名称中仅使用字母、数字和下划线

要在名称中仅使用字母、数字和下划线,主要是因为这些字符可以被方便的移植到编程语言中。在应用程序的数据库和编程语言中能够使用相同的属性字段名称,这样就能省去了字段起别名的工作量。

有一些特殊情况。例如,在SQL Server中临时表名称需要以“#”号开头,#号在编程语言中具有特殊含义。如果必须使用临时表,则只能使用“#”。

此外,参数名称也存在这种情况,它需要以“@”开头。在名称中应该尽量避免使用特殊符号是一个非常正确的选择。

注意:不要将下划线作为名称的第一个或最后一个字母,这样不利于代码的阅读。

2、列名、参数和变量等标量应尽量小写

一般情况下,小写字母比大写字母阅读体验更佳。阅读小写文本的速度比大写的速度快5%~10%。当名称由两个以上单词组合而成时,为便于阅读,应当采用大小写混合的写法。个人建议采用驼峰命名的方式更容易阅读。

3、模式对象名首字母应该大写

模式对象包括数据表、视图和存储过程等,在创建这些名称时,应当将首字母大写,表示为专有名词。

4、保留关键字应该大写

保留关键字属于Transact-SQL语言语法的一部分,主要用于定义、操作和访问数据库预留的字符。将保留关键字大写后,能起到一种突出效果,使整个语句重点突出、结构清晰、可读性高。

SQL Server保留关键字:

ADD | ALL | ALTER | AND | ANY | AS | ASC | AUTHORIZATION

BACKUP | BEGIN | BETWEEN | BREAK | BROWSE | BULK | BY

CASCADE | CASE | CHECK | CHECKPOINT | CLOSE | CLUSTERED | COALESCE

COLLATE | COLUMN | COMMIT | COMPUTE | CONSTRAINT | CONTAINS

CONTAINSTABLE | CONTINUE | CONVERT | CREATE | CROSS | CURRENT

CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP | CURRENT_USER

CURSOR

DATABASE | DBCC | DEALLOCATE | DECLARE | DEFAULT | DELETE | DENY

DESC | DISK | DISTINCT | DISTRIBUTED | DOUBLE | DROP | DUMP

ELSE | END | ERRLVL | ESCAPE | EXCEPT | EXEC | EXECUTE | EXISTS

EXIT | EXTERNAL

FETCH | FILE | FILLFACTOR | FOR | FOREIGN | FREETEXT | FREETEXTTABLE

FROM | FULL | FUNCTION

GOTO | GRANT | GROUP

HAVING | HOLDLOCK

IDENTITY | IDENTITY_INSERT | IDENTITYCOL | IF | IN | INDEX | INNER | INSERT

INTERSECT | INTO | IS

JOIN

KEY | KILL

LEFT | LIKE | LINENO | LOAD

MERGE |

NATIONAL | NOCHECK | NONCLUSTERED | NOT | NULL | NULLIF

OF | OFF | OFFSETS | ON | OPEN | OPENDATASOURCE | OPENQUERY | OPENROWSET

OPENXML | OPTION | OR | ORDER | OUTER | OVER

PERCENT | PIVOT | PLAN | PRECISION | PRIMARY | PRINT | PROC

PROCEDURE | PUBLIC

RAISERROR | READ | READTEXT | RECONFIGURE | REFERENCES | REPLICATION

RESTORE | RESTRICT | RETURN | REVERT | REVOKE | RIGHT | ROLLBACK

ROWCOUNT | ROWGUIDCOL | RULE

SAVE | SCHEMA | SECURITYAUDIT | SELECT | SEMANTICKEYPHRASETABLE

SEMANTICSIMILARITYDETAILSTABLE | SEMANTICSIMILARITYTABLE

SESSION_USER | SET | SETUSER | SHUTDOWN | SOME | STATISTICS | SYSTEM_USER

TABLE | TABLESAMPLE | TEXTSIZE | THEN | TO | TOP | TRAN | TRANSACTION

TRIGGER | TRUNCATE | TRY_CONVERT | TSEQUAL

UNION | UNIQUE | UNPIVOT | UPDATE | UPDATETEXT | USE | USER

VALUES | VARYING | VIEW

WAITFOR | WHEN | WHERE | WHILE | WITH | WITHIN GROUP | WRITETEXT

5、合理的使用空格

在语言标记之间放置一个空格,尽量地符合英语书写习惯,可以增强语句的可阅读性。

1.等号两边使用空格

在书写赋值语句时,应当在等号两边使用空格分隔,如SET @age = 30比SET @age=30更容易阅读。

2.逗号后面使用空格

应当遵循在逗号后面使用空格的原则,因为英语中逗号和句号很容易混淆加空格更有利于发现SQL书写错误的问题。

6、使用缩进的规范

合理的使用缩进会使SQL语句的层次和逻辑关系更加清晰,一般都是缩进2个空格。例如,在下面的语句中,AND关键词连接了两个筛选条件,缩进后会更加突出WHERE子句。

代码语言:javascript
复制
      SELECT ID, Name, BirthDate,Address
      FROM Resources.UserInfo
	  WHERE Name='小明'
		AND Age>25 ;

7、 使用分组

存在多行Transact-SQL的情况下,相关语句之间可以直接换行书写,而对于两个步骤之间的语句可以间隔一个空行。根据需要也可以加入适当的注释语句。

例如:

代码语言:javascript
复制
      USE DB;
      GO

      -- 读取 UserInfo 表的数据
      SELECT *
      FROM UserInfo;
      GO
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明互联网技术分享社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、在名称中仅使用字母、数字和下划线
  • 2、列名、参数和变量等标量应尽量小写
  • 3、模式对象名首字母应该大写
  • 4、保留关键字应该大写
  • 5、合理的使用空格
    • 1.等号两边使用空格
      • 2.逗号后面使用空格
      • 6、使用缩进的规范
      • 7、 使用分组
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档