阿里巴巴開發手冊之SQL語句

2021-09-27 03:53:16 字數 700 閱讀 2978

不要使用count(列名)或count(常量)來代替count(),count()是sql92定義的標準統計行數的語法,跟資料庫無關,跟null和非null無關。

count(distinct column)計算該列除null外的不重複行數。注意,count(distinct column1, column2),如果其中一列全為null,那麼即使另一列有不同的值,也返回為0。

當某一列的值全為null時,count(column)的返回值結果為0,但sum(column)的返回值結果為null,因此使用sum()時需要注意npe問題。

使用isnull()來判斷是否為null值。

在**中寫分頁查詢邏輯時,若count為0應直接返回,避免執行後面的分頁語句。

不得使用外來鍵與級聯,一切外來鍵概念必須在應用層解決。

禁止使用儲存過程,儲存過程難以除錯和擴充套件,更沒有移植性。

資料訂正(特別是刪除,修改記錄操作)時,要先select,避免出現誤刪除,確認無誤後才能執行更新語句。

in操作能避免則避免,若實在避免不了,需要仔細評估in後面的集合元素數量,控制在1000個之內。

如果有全球化需要、所有的字元儲存與表示,均以utf-8編碼,注意字元統計函式的區別。

truncate table 比delete 速度快,且使用的系統和事務日誌資源少,但truncate無事務且不觸發trigger,有可能造成事故,故不建議在開發**中使用此語句。

阿里巴巴開發手冊

反例 string str start for int i 0 i 100 i 2 注意 math.random 這個方法返回是double型別,注意取值的範圍 0 x 1 能夠取到零值,注意除零異常 如果想獲取整數型別的隨機數,不要將x放大10的若干倍然後取整,直接使用random物件的nexti...

阿里巴巴Java開發手冊

一 程式設計規範 一 命名風格 1 類命名風格 首字母大寫,即uppercamelcase風格 2 方法名 引數名 成員變數 區域性變數都是用lowercamelcase風格 3 常量命名全部大寫 max count 4 定義整形陣列 int arraydemo 5 包名統一使用小寫 6 介面類中的...

阿里巴巴開發手冊總結

後期需要整理 tinyint 1位元組 取值範圍是 128,127 無符號位是 0,255 小整數值 1.強制 中的命名均不能以 下劃線或美元符號 開始,也不能以 下劃線或美元符號結束 反例 name name name name 2.強制 命名嚴禁使用拼音與英文混合的方式,更不允許直接使用中文的方...