跳至內容
100% 隱私保護 — 檔案永遠留在你的裝置上
>_
繁體中文

SQL 格式化與驗證工具

美化或壓縮 SQL,並精準到行與欄找出語法錯誤——支援 20 種方言,全程在瀏覽器中完成。

所有處理都在瀏覽器中進行,你的 SQL 不會上傳到任何伺服器。

選項
1 行 · 0 B

拖曳 .sql 或 .txt 檔案、直接貼上,或載入範例。按 Ctrl+Enter 執行。

語法檢查

貼上 SQL 即可檢查語法。

「有效」只代表語法符合該文法。檢查器沒有資料庫結構資訊,無法判斷資料表或欄位是否存在,也無法判斷查詢能否執行。方言專屬或非常新的語法,即使你的資料庫支援,也可能被拒絕。

在瀏覽器中格式化、壓縮並檢查 SQL

排版清楚的 SQL 比較容易審查、除錯與比對差異。這個工具會用一致的縮排、換行與關鍵字大小寫重寫查詢,並了解約二十種方言各自的寫法,包括 MySQL、PostgreSQL、SQL Server (T-SQL)、SQLite、BigQuery、Snowflake、Redshift、Oracle PL/SQL、Hive、Spark、Trino 與 DB2。你可以選擇方言,選用兩個或四個空格或 Tab 縮排,決定關鍵字、資料型別與函式名稱要大寫、小寫或維持原樣;如果團隊習慣把逗號放在行首,也能一鍵切換。

語法檢查是另一半功能。貼上一份指令碼後,每個陳述式都會單獨驗證,你可以看到哪些通過、哪些沒通過。出錯時會顯示行號與欄號、出問題的詞元、幾行上下文,並在可能時提供提示,例如關鍵字拼錯、多餘的尾端逗號或未閉合的括號。分割陳述式時會考量字串、註解、反引號、方括號,以及 PostgreSQL 以錢字號包住的區塊,所以字面值裡的分號不會把一個陳述式從中間截斷。

壓縮與格式化相反:它會合併空白,並可依需求移除註解,產生緊湊的單行查詢,方便放進記錄檔、設定檔或嵌入程式碼。它是以詞元而非正規表示式處理,因此字串與加上引號的名稱裡的文字會維持原樣。

請了解它的限制。綠色的檢查結果只能證明語法符合所選的文法,不能證明資料表確實存在,也不能證明查詢又快又正確。部分方言、程序式區塊與最新功能只獲得部分支援,少數方言沒有專用的檢查器,這時你可以自行選擇最接近的文法。所有處理都在本機完成,可以放心貼上正式環境的查詢;檔案很大時,即時預覽會暫停,等你按下按鈕再執行。

常見問題

顯示「有效」就代表查詢可以執行嗎?

不是。檢查器只驗證語法。它無法存取你的資料庫,所以不知道資料表或欄位是否存在、型別是否相容、你是否有權限。它使用自己的文法規則,因此全新的或特定廠商的語法,即使你的資料庫支援,也可能被拒絕。綠色結果只代表「SQL 寫得合乎規範」,紅色結果則代表「請看看這個位置」。

我的 SQL 會被上傳嗎?

不會。格式化、壓縮與語法檢查都在瀏覽器的背景執行緒中完成,不會把任何內容傳送到伺服器。選用的草稿與你的設定只會存放在這個瀏覽器的本機儲存空間。

為什麼格式化成功了,檢查器卻報錯?

這是兩個不同的工具。格式化器只需要辨識詞元與子句,所以比較寬鬆;檢查器則使用所選方言的完整文法,要求更嚴格。兩者結果不一致時會顯示警告:結果仍會提供,但被標記的那一行值得看一下。

壓縮會改變查詢的行為嗎?

它只會移除空白與註解。字串、加上引號的識別字、以錢字號包住的區塊,以及最佳化器提示都會逐字元原樣保留,原本相連的內容仍然相連。為求保險,請不要壓縮依賴換行的指令碼,例如 MySQL 的 DELIMITER 區塊。

相關工具