跳到主要內容
FileTinker

SQL Formatter

貼上雜亂的 SQL 查詢,即可獲得縮排整齊、關鍵字大小寫一致的結果,支援 MySQL、PostgreSQL、SQLite、T-SQL 等。所有處理都在瀏覽器中進行,您的查詢絕不會被上傳。

結果將顯示於此處。

如何格式化 SQL

  1. 選擇與您的資料庫相符的 SQL 方言。
  2. 將查詢貼到輸入框中。
  3. 從輸出框複製格式整齊的 SQL。

關於格式化 SQL

SQL Formatter 會重新縮排查詢,並統一關鍵字大小寫與換行,讓查詢的結構 — 子句、聯結、子查詢 — 一目了然。一致的格式能讓冗長的查詢便於審閱、減少錯誤,並在查詢納入版本控制時保持差異乾淨清楚。

不同的資料庫會以各自的關鍵字與語法擴充 SQL,因此選對方言才能產生最準確的結果。這款格式化工具完全在您的瀏覽器中執行,即使查詢中含有資料表名稱或商業邏輯,也絕不會離開您的裝置。

大部分難以閱讀的 SQL 程式碼並非由人工輸入。ORM(物件關聯對應)和查詢建構工具會將語句以單一長行的形式輸出;記錄和監控工具在擷取查詢時會移除換行符;而 BI(商業智慧)工具則會產生帶有機器生成的別名的 SQL 程式碼。當其中一個查詢出現問題時,重新格式化是自然的第一步——一旦每個子句都位於自己的行中,您實際上就能看到是哪個聯結導致了資料列數量暴增,或者哪個篩選條件遺失了。

格式化工具所採用的規則背後都有其邏輯。使用大寫關鍵字的做法可以追溯到語法高亮功能尚未普及的時代,當時大寫字母是讓 SELECT 和 WHERE 等關鍵字從表格和欄位名稱中脫穎而出的唯一方法——而這個習慣之所以得以保留,是因為它在純文字環境中仍然很有用,例如日誌、差異比較和文件。每行一個子句,並使用縮排來顯示巢狀結構,這反映了您思考查詢的方式:我選擇的是什麼,從哪裡選擇,以及如何進行篩選。

常見問題

如何格式化 SQL?

選擇方言、貼上查詢,格式化後的版本就會立即顯示,縮排一致、關鍵字大小寫統一。一鍵即可複製。

支援哪些方言?

支援標準 SQL,以及 MySQL、PostgreSQL、MariaDB、SQLite、SQL Server(T-SQL)、Oracle(PL/SQL)和 BigQuery — 選擇與您的資料庫相符的方言,可獲得最準確的格式化結果。

會改變查詢的執行結果嗎?

不會。格式化只會調整空白與大小寫以提升可讀性;查詢本身不會被更動。

我的 SQL 會被上傳嗎?

不會。查詢完全在您的瀏覽器中格式化;不會傳送任何內容到伺服器。

調整格式是否能修復錯誤的查詢?

不,格式化工具只是重新調整空格和大小寫;它不會驗證語法或修正錯誤,因此,如果查詢缺少逗號或括號未關閉,查詢仍然會出錯——只是變得更容易閱讀。儘管如此,格式化確實是一個非常有用的除錯步驟:一旦結構以分句的形式呈現出來,就可以更容易地用肉眼發現諸如多餘的括號或缺少條件的連接等錯誤。