21種好的SQL程式設計習慣
1、大小寫
大寫T-SQL 語言的所有關鍵字,謂詞和系統函式。變數名稱及遊標名稱使用Pascal樣式。資料型別定義使用全部小寫。
2、使用“;”
使用“;”作為 Transact-SQL 語句終止符。雖然分號不是必需的,但使用它是一種好的習慣。
3、儲存格式
儘量採用Unicode資料儲存格式,提高可移植性和相容性,實際應用中儘量使用nchar、nvarchar、ntext代替char、varchar、text。
4、 型別選擇
如果字元具有明確的長度,使用nchar代替nvarchar;char代替varchar。
在只有兩個可能數值時,使用bit代替int或smallint。
在SQL Server 2005中,使用nvarchar(MAX)代替ntext;varchar(MAX)代替text;varbinary(MAX)代替image。
在特殊的資料表結構中可考慮xml資料型別,達到事半工倍的效果。
5、預設值
在建立資料表時,儘量使用預設值代替NULL值。比如設定CreatedDate列預設值為GETDATE()。在可行的情況下設定欄位為不允許空。
6、欄位長度
始終指定字元資料型別的長度,並確保允許使用者可能需要的最大字元數,避免超出最大長度時出現字元丟失現象。對於字元型資料,建議採用2的n次方來定義資料長度。
示例: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 簡寫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-673046/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計好習慣程式設計
- 程式設計師的10個好習慣程式設計師
- MySQL寫sql的21個好習慣,學習工作效率翻倍MySql
- MySQL寫sql的21個好習慣,讓你的工作效率翻倍MySql
- 10個程式設計好習慣:優秀程式設計師的經驗分享程式設計師
- 谷歌程式設計師有哪些高效的程式設計習慣?谷歌程式設計師
- 高效程式設計師的七個習慣程式設計師
- Python程式設計的16個壞習慣Python程式設計
- 程式設計中,有哪些好的習慣一開始就值得堅持?程式設計
- 不好的程式設計習慣之列表儲存程式設計
- 分享 程式碼大全 節選 -- 程式設計師的習慣程式設計師
- 解讀C#程式設計中最容易忽略7種編寫習慣!C#程式設計
- Java程式設計中,有哪些好的習慣從一開始就值得堅持?Java程式設計
- C 語言程式設計習慣總結程式設計
- JAVA程式設計習慣之equals對比Java程式設計
- 不好的程式設計習慣之檔案下載程式設計
- 頂尖程式設計師的10個優良習慣程式設計師
- 符合語言習慣的 Python 優雅程式設計技巧Python程式設計
- 資深程式設計師的16個優良習慣!!!程式設計師
- SQL Server開發人員需要避免的八種習慣PWSQLServer
- 高效程式設計師的45個習慣 讀書筆記程式設計師筆記
- 程式設計師的35個壞習慣,你有幾條?程式設計師
- 簡述21種設計模式設計模式
- 好程式設計師Java分享SQL語言之索引程式設計師JavaSQL索引
- 《掌控習慣》:如何養成好習慣入定心流? - chrisbehan
- 好程式設計師Java學習路線分享Spring建立Bean的3種方式程式設計師JavaSpringBean
- 好程式設計師Java學習路線分享JavaEE的13種核心技術程式設計師Java
- 成功者的幾種習慣
- 好程式設計師Java分享Mybatis必會的動態SQL程式設計師JavaMyBatisSQL
- 好程式設計師Java教程:SQL語言之檢視程式設計師JavaSQL
- 軟體設計專家的八種習慣 | 麻省理工學院出版社
- 學習 Qt 程式設計的好書精品推薦!QT程式設計
- 免費學習程式設計的10個好工具!程式設計
- 免費學習程式設計的10個好工具程式設計
- 有前(錢)途的程式設計師的14個習慣,你有幾個?程式設計師
- 好程式設計師Java教程分享Java中this的幾種用法程式設計師Java
- 好程式設計師分享MyBatis之動態SQL語句程式設計師MyBatisSQL
- 好程式設計師Java分享MySQL之SQL入門(一)程式設計師JavaMySql
- 學哪種程式設計比較好,看看這六種語言!程式設計