SQL 格式化工具

為 SQL 語句新增縮排和換行,提升可讀性。

格式化前

格式化後

Tips

  • SELECT、FROM、WHERE、JOIN 等 SQL 關鍵字將自動換行並對齊,巢狀子查詢也會正確縮排。
  • 啟用"關鍵字大寫"後,關鍵字將自動轉為大寫,提升可讀性
  • 可調整縮排大小,以符合團隊的程式碼規範。
  • 將格式化後的 SQL 貼上到程式碼審查或文件中,閱讀更加清晰。
  • 支援 MySQL、PostgreSQL、Oracle 等主流 SQL 方言。

常見問題

除標準 SQL 外,還支援 MySQL、PostgreSQL、Oracle(PL/SQL)、SQL Server(T-SQL)。從下拉選單中選擇與所用資料庫匹配的方言,即可正確格式化該方言特有的語法。

如果輸入的 SQL 包含語法錯誤,格式化工具可能無法正確解析。請先在資料庫客戶端中確認 SQL 語法是否有效,再進行格式化。

可以將多條 SQL 語句用分號分隔後貼上,工具會一併格式化。但儲存過程和 PL/SQL 塊語法可能無法完全支援。
ツールくん

閒話 ― SQL 的 50 年:關係型資料庫的歷史

SQL 起源於 E.F. Codd(IBM)1970 年論文提出的關係模型,IBM 以此為基礎開發了"SEQUEL"(因商標問題改名為 SQL)。1986 年被 ANSI 標準化,至今仍被眾多資料庫廣泛使用,是一門歷久彌新的語言。

最著名的安全事件之一是 SQL 注入攻擊。2011 年索尼 PSN(PlayStation Network)事件導致逾 1 億條個人資訊洩露,估計損失達 1.71 億美元。時至今日,SQL 注入仍是 OWASP Top 10(Web 應用主要漏洞排行)的常客,使用預處理語句是基本防禦手段。

"WHERE 1=1"是構建動態 SQL 的實用技巧,但也是 SQL 注入的經典案例。在登入表單中輸入 ' OR '1'='1 即可無需密碼登入——這一古典漏洞至今仍是安全培訓的標準教材。