SQLServer書寫規范梳理

今天給大家分享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,AddressFROM Resources.UserInfoWHERE Name='小明'AND Age>25 ;

7、 使用分組

存在多行Transact-SQL的情況下,相關語句之間可以直接換行書寫,而對于兩個步驟之間的語句可以間隔一個空行。根據需要也可以加入適當的注釋語句。

例如:

      USE DB;GO-- 讀取 UserInfo 表的數據SELECT *FROM UserInfo;GO

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270868.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270868.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270868.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

android 屏幕旋轉不重新加載,Android webview旋轉屏幕導致頁面重新加載問題解決辦法...

Android webview旋轉屏幕導致頁面重新加載問題解決辦法1. 在create時候加個狀態判斷protected void onCreate(Bundle savedInstanceState){...if (savedInstanceState null){mWebView.loadUrl("your_url");}...}2. 重載保存狀態的函數:Overrideprotected…

visio調整形狀位置_VISIO繪圖技巧—三相橋式全控整流電路繪制

前些天有網友留言詢問如何畫三相橋式全控整流電路,一直沒時間回復。今天得閑在家,給大家介紹一下如何來畫。上圖是一個三相橋式全控整流電路原理圖,大部分圖形元件在VISIO自帶的圖形庫中都能找到,下面來看看如何找出我們需要的繪圖…

計算機組成原理——關于數據對齊存儲

計算機組成原理——關于數據對齊存儲 1. 綜述 博客:http://blog.csdn.net/cyxcw1/article/details/9080519(C/C數據邊界對齊的注意事項) 對齊:變量的起始地址為其大小的整數倍。如short型占兩個字節,其起始地址就要從偶數地址開始。 對齊可以…

電腦術語科普:什么是“顯卡交火”?

有時候看到別人在討論顯卡交火的話題,相信大家對顯卡交火這個術語了解得也比較少,那么它是什么意思呢? 顯卡交火簡單的說就是:讓兩塊或者多塊顯卡在一臺機子上協同工作,相比于使用一張顯卡圖形性能有所提升。 目前主流顯卡交火有…

Mac查看本機ip地址

Mac查看本機ip地址 ifconfig | grep "inet" 箭頭處為ip地址

python3.4 pip安裝_python3.4的pycurl pip安裝

我正在安裝pycurl for python3.4如果我運行“pip install pycurl”,我有:Downloading/unpacking pycurlRunning setup.py (path:C:\Users\kkw\AppData\Local\Temp\pip_build_kkw\pycurl\setup.py) egg_info for package pycurlPlease specify --curl-dir…

html頁面整體變灰,css實現網站整體變灰(兼容火狐)

天下興亡,匹夫有責。有時候我們可能需要將網站整體變灰,實現方法也很簡單。將下面代碼加入到 wordpress 主題目錄下的 style.css 文件中即可:/* 網站變灰代碼 */html{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filte…

SQL Azure與SQL Server兩者的對比介紹,看完你就懂了!

今天給大家SQL Azure與SQL Server兩者的對比介紹,看完你就懂了!1、SQL Server介紹SQL Server數據庫服務方式是安裝在客戶提供的服務器內。客戶負責硬件、、軟件安裝、安全性、數據庫備份、災難恢復等相關的運維工作。需要較高的人為運維成本。2、SQL Azu…

如何用HTML語言設計進度條,html5代碼如何實現進度條功能?(示例)

本篇文章主要介紹html5代碼如何實現進度條功能,希望對大家有所幫助。html5代碼實現進度條功能具體代碼示例如下:/*實現進度條的功能*/下載進度:/*js代碼*/var pgdocument.getElementById(pg);setInterval(function(e){if(pg.value!100) pg.va…

Flink是什么

一:Flink是什么

sublime插件 TortioseSVN

TortioseSVN 可以安裝在sublime中,實現svn文件的增加、刪除、更新、提交等功能(TortioseSVN用在window系統中,linux安裝svn) 安裝: 首先在sublime中搜索安裝TortioseSVN,(前提是安裝了package c…

python腳本 游戲賺金幣兌換錢_一種王者榮耀刷金幣方法(python腳本)

所用工具環境python3.6.5 和 支持自動鼠標鍵盤點擊等編程的pyautogui功能包windows PC,安卓模擬器bluestacks,安裝王者榮耀基本思路王者榮耀有闖關任務模式可以獲得金幣,任務兩三分鐘一般就可以完成,支持自動模式,一次…

SQL Server數據庫架構與對象相關知識筆記

1、數據庫架構簡介數據庫架構是從SQL Server2005版本之后引入的概念。數據庫架構獨立于創建它的數據厙用戶而存在,每個對象都屬于一個數據庫架構(對象包括表、視圖、存儲過程、函數、觸發器等)2、 數據庫、架構和數據庫對象數據庫架構是一個獨…

html ajax 數據傳送,HTML AJAX 簡單數據JS

ajax請求var xmlhttp;var data;//Mozilla ,chmore瀏覽器(將XMLHttpRequest對象作為本地瀏覽器對象來創建)if(window.XMLHttpRequest){ //Mozilla 瀏覽器xmlhttp new XMLHttpRequest();}else if(window.ActiveXObject) { //IE瀏覽器//IE瀏覽器(將XMLHttpRequest對象作為ActiveX…

轉換

1024字節1K 1024*10241M 1024K1M 1024M1G 字

蒙提霍爾悖論(三門問題)終極分析(補充)附完整源碼

上一篇文章分析了經典的蒙提霍爾問題,最后的結論是更換選擇后有2/3的機會中獎。蒙提霍爾問題到此已經完結,但事實卻并非如此。 在蒙提霍爾問題中,主持人事先知道汽車在哪個門后面,并且他一定會選擇沒有汽車的那扇門。如果我們稍稍…

超融合和服務器關系_超融合與傳統服務器區別

超融合與傳統服務器的區別1.1概述雖然超融合架構以其為用戶帶來的巨大價值,已經被越來越廣泛地接受,但市場上對超融合仍然有諸多不清晰的概念和疑問,本系列文章將力求對這些概念進行逐一解釋。本篇解釋大家經常問到和混淆的一個概念&#xff…

電腦技巧:整理電腦鍵盤上每個鍵的含義

電腦鍵盤是把文字信息的控制信息輸入電腦的通道,從英文打字機的鍵盤演變而來的。它最早出現在電腦上的時候,還是一種叫做“電傳打字機”的部件。那些陌生的鍵盤按鍵都有什么用途? 很多新手不知道鍵盤上功能鍵和字母數字鍵以外的鍵盤按鍵有什么用&#x…

html統計表合并單元格的快捷鍵,合并單元格快捷鍵,小編教你excel怎么合并單元格快捷鍵...

合并單元格是我們經常要做的工作,如果有合并單元格的快捷鍵正是我們想要的,很遺憾,微軟并沒有直接提供這樣一個快捷鍵,在excel表的運用中,難免會碰到希望將兩個單元格合并的時候,那么怎么做呢?下…

SQLServer數據庫實例相關知識筆記

1、概念介紹SQL實例實際上就是SQL服務器引擎,每個SQL Server數據庫引擎實例各有一套不為其他實例共享的系統及用戶數據庫。在一臺計算機上,可以安裝多個SQL SERVER,每個SQL SERVER就可以理解為是一個數據庫實例。2、SQL實例分類SQL實例分為默…