今天給大家分享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子句。
SELECT ID, Name, BirthDate,Address
FROM Resources.UserInfo
WHERE Name='小明'
AND Age>25 ;
7、 使用分組
存在多行Transact-SQL的情況下,相關語句之間可以直接換行書寫,而對於兩個步驟之間的語句可以間隔一個空行。根據需要也可以加入適當的註釋語句。
例如:
USE DB;
GO
-- 讀取 UserInfo 表的數據
SELECT *
FROM UserInfo;
GO
個人博客網站:https://programmerblog.xyz
本文分享自微信公衆號 - IT技術分享社區(gh_a27c0758eb03)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。