🗄️
sql formatter,
SQL 格式化工具
格式化並美化 SQL 查詢語句。
🐘
支援多種方言
支援 MySQL、PostgreSQL、T-SQL 等
🎨
語法突顯
即時自動為關鍵字上色
🔒
100% 本地處理
不會將查詢傳送到任何伺服器
輸入
格式化輸出
處理中...
關於本工具
這是一個免費的線上開發者工具,可讓您將應用程式記錄的冗長、難以閱讀的單行 SQL 查詢,立即格式化並美化為縮排整齊的查詢程式碼。
當您輸入或貼上 SQL 時,工具會自動將保留字 (例如 SELECT、FROM、WHERE) 轉換為大寫,並套用彩色的「語法突顯」,幫助您直覺地掌握複雜查詢的結構。
使用方法
- 選擇方言:從下拉選單中選擇您使用的資料庫類型 (MySQL、PostgreSQL、T-SQL 等)。
- 縮排設定:選擇您偏好的縮排方式 (2 個空格、4 個空格或 Tab),並決定是否要將關鍵字轉換為大寫。
- 輸入 SQL:將您的原始或壓縮過的 SQL 查詢貼上到左側的「輸入」區域。
- 查看結果:在幾分之一秒內,您完美格式化的查詢就會出現在右側。
- 複製:點擊右上角的「複製」按鈕,將格式化後的查詢儲存至剪貼簿。
名詞解釋
- SQL (Structured Query Language)
- 一種標準化的查詢語言,用於管理與互動關聯式資料庫。SELECT 等指令可檢索資料,INSERT 可新增記錄,UPDATE 可修改現有資料。
- 縮排 (Indentation)
- 在行首使用空白字元,以視覺化方式呈現程式碼的階層結構。在 SQL 格式化中,縮排能讓子查詢與 JOIN 子句一目瞭然。
- 保留字 (關鍵字 / Reserved Words)
- SQL 中具有預定義含義的特殊單字,例如 SELECT、FROM 與 WHERE。在格式化過程中將它們轉換為大寫,能透過視覺上區分指令與資料,顯著提升程式碼的易讀性。
- 子查詢 (Subquery)
- 嵌入在另一個 SELECT 陳述式中的巢狀 SQL 查詢。格式化工具會正確地縮排子查詢,使巢狀結構在視覺上清晰易懂,便於除錯。
- JOIN 子句
- 用於結合兩個或多個相關資料表之資料列的 SQL 語法。類型包含 INNER JOIN、LEFT JOIN 與 RIGHT JOIN。格式化工具會將每個 JOIN 子句放置在獨立的行上,並加上適當的縮排。
- 程式碼格式化工具 (Code Formatter)
- 根據一組規則自動調整原始碼中的空白、換行與縮排的工具,能提升易讀性與可維護性。
- 語法突顯 (Syntax Highlighting)
- 一種以不同顏色顯示關鍵字、函數與字串常數的功能。它能讓您對 SQL 查詢的結構一目瞭然。
使用場景
- ORM 除錯:釐清由 Prisma、ActiveRecord 或 Hibernate 等 ORM 自動產生的龐大單行 SQL 記錄檔。
- 程式碼審查:在提交程式碼之前,統一由不同團隊成員撰寫的糟糕或不一致的縮排。
- 撰寫文件:準備對齊完美且具有語法突顯的程式碼區塊,以便貼上到技術 Wiki 或規格文件中。
- 學習與分析:貼上教學文章中的複雜查詢,將其分解成易於閱讀的區塊,藉此理解其邏輯。
常見問題
- Q.我的 SQL 查詢會被傳送到伺服器嗎?
- 不會。所有 SQL 格式化都完全在您的瀏覽器 JavaScript 引擎中處理。您的查詢絕不會傳輸到任何外部伺服器,因此非常安全,可用於格式化正式環境或敏感的 SQL 程式碼。
- Q.支援哪些 SQL 方言?
- 支援 MySQL、PostgreSQL、SQLite、SQL Server 以及其他主要的關聯式資料庫 (RDBMS) 方言。標準的 SQL 語法在大多數方言選項中都能正確格式化。
- Q.保留字會自動轉換為大寫嗎?
- 會的。像 SELECT、FROM、WHERE 和 JOIN 等 SQL 保留字會自動轉換為大寫。您可以在輸入區上方的設定中切換此行為。
- Q.它可以處理非常長的 SQL 查詢嗎?
- 可以。即使是長達數百行的 SQL 查詢也能快速格式化。包含預存程序在內的複雜語法也能正確處理。
- Q.我可以自訂格式化樣式 (縮排寬度等) 嗎?
- 可以。您可以從編輯器上方的設定面板自訂縮排 (2 個空格、4 個空格或 Tab),以及關鍵字的大小寫 (大寫或保留原樣)。
- Q.如何複製格式化後的結果?
- 點擊輸出面板右上方的「複製」按鈕。格式化後的 SQL 就會立即複製到您的剪貼簿,隨時可貼上到您的編輯器或查詢工具中。
- Q.它會驗證或執行 SQL 嗎?
- 不會。這個工具純粹是一個格式化工具 — 它能美化 SQL 的視覺呈現。不包含語法驗證與查詢執行功能;請使用您的資料庫管理工具來進行這些工作。
發送反饋
請告訴我們您的想法,以幫助我們改進工具。
反饋發送成功。感謝您的合作!
發生錯誤。請稍後再試。
Feedback is temporarily suspended
The server is busy or spam protection is active. Please try again later.