工作流程指南
SQL 格式化與審查指南
把格式化當成「便於審查」的第一步,再去核對 join、filter 和寫操作,避免一條「看起來更順眼」的查詢悄悄變成危險語句。
格式化本身不會讓 SQL 自動變安全,但它會讓危險模式更容易被看到。只要子句被拆到穩定的行結構上,評審者就更容易發現缺失的 join 條件、範圍過寬的刪除、複製來的字面量,以及 filter 和業務規則開始脫節的位置。
可讀性是審查工具,不是安全保證
格式化後的查詢,依然只是一條查詢。格式化真正的價值,是把子句拆開、把巢狀結構暴露出來,並讓關聯關係和寫操作更容易被看見。至於這條語句是否符合目標資料庫方言、是否應該真的執行,仍要靠人工判斷。
用格式化把高風險部分挑出來
最值得重點看的,通常是那些真正影響範圍和資料完整性的部分:join、where、grouping、limit、update 目標和 delete 過濾條件。查詢一旦可讀,團隊就能有意識地審這些行,而不是被迫相信一條又長又密的一行語句。
- 先看 join 和 filter,再看風格偏好。
- 寫操作語句的風險級別,預設高於唯讀查詢範例。
- 涉及方言特有語法時,要始終帶著目標資料庫去看。
一套實用的瀏覽器工作流程
先貼上查詢並格式化,再重點檢查決定作用範圍的子句;只有當團隊對語句意圖達成一致後,才把可讀結果帶去程式碼審查、遷移說明或查詢主控台。格式化是「讓審查成為可能」的步驟,不是「預設批准執行」的步驟。
延伸閱讀
指南與工作流程
相關工具
工具庫