🌐 ZH-TW

🗄️ SQL 格式化工具

依語法子句將 SQL 查詢換行並縮排,提升可讀性;也可壓縮成單行,方便記錄或儲存。關鍵字大寫可自由切換。

指南

瞭解更多

01

1. 為什麼要格式化 SQL

當 JOIN 越來越多時,單行 SQL 或 ORM 產生的 SQL 會變得難以閱讀。將它依子句切分為 SELECT、FROM、WHERE、JOIN、GROUP BY、ORDER BY 等,並維持一致縮排,就能立刻看出哪些資料表以什麼條件連接,以及 WHERE 在篩選什麼,讓程式碼審查與除錯更有效率。

02

2. 這個工具怎麼格式化

系統會在主要子句前插入換行(SELECT/FROM/WHERE/JOIN 變體/GROUP BY/ORDER BY/HAVING/LIMIT 等),並將 AND/OR 向內縮排一層,以區分各個條件。以逗號分隔的欄位清單會各自獨立成行,而括號內的內容(例如子查詢)則會多一層縮排。這是以 token 為基礎的格式化工具,不是完整的 SQL 解析器,因此過度巢狀的子查詢或特定資料庫的語法,在格式化後可能還需要手動微調。

03

3. 壓縮與使用時機

壓縮會移除註解,並將不必要的空白與換行收斂成單行。適合用來記錄查詢、縮小預存程序或遷移腳本的大小,或把單行 SQL 貼到其他工具中。字串字面值中的內容(加引號的值)會完整保留,因此你的資料值不會被更動。

常見問題

它支援所有 SQL 方言嗎(MySQL、PostgreSQL、Oracle 等)?
它是以 token 為基礎的格式化工具,可辨識常見關鍵字,不是完整的解析器。它能很好地處理 SELECT/INSERT/UPDATE/DELETE/CREATE TABLE 與常見的 join 語法,但特定廠商的延伸語法可能不會完全符合這套格式規則。
它會把字串中的 SQL 關鍵字也轉成大寫嗎?
不會。用引號包住的字串字面值('...', "...", `...`)在 token 化時會被獨立辨識,並排除在大小寫轉換與換行邏輯之外。
我的查詢會送到伺服器嗎?
不會。格式化與壓縮都完全在你的瀏覽器中完成,從不會送到伺服器。
我可以調整縮排寬度嗎?
可以,從縮排下拉選單中選擇 2 或 4 個空格。