🗄️
免費SQL 格式化與美化工具
以適當縮排、可設定關鍵字大小寫和主要子句換行美化 SQL 查詢。相容任意 SQL 方言。
載入後可離線使用
格式化後的 SQL
格式化後的 SQL 顯示在這裡…工作原理
此 SQL 格式化器完全由手寫的分詞器和格式化器建立——不使用任何外部庫。格式化和語法醒目提示在你輸入時在瀏覽器中即時執行,不涉及伺服器。
- 1分詞器拆分 SQL逐字元分詞器遍歷你的輸入並將其拆分為型別化的記號:字串字面量(同時處理反斜槓跳脫和 SQL 的雙引號跳脫方式)、行註解(--)、塊註解(/* */)、運算子、括號、識別符號和數字。空白被摺疊為單個空格記號。
- 2合併複合關鍵字分詞後,第二輪處理會合並構成多詞關鍵字的相鄰記號——因此 'LEFT' 後跟 'JOIN' 變為單個 'LEFT JOIN' 記號,'GROUP' 後跟 'BY' 變為 'GROUP BY'。這使格式化器可以將它們視為單個排版單元。
- 3塊排版或壓縮在格式化模式中,開始塊的關鍵字(SELECT、FROM、WHERE、JOIN 等)單獨放在一行、零縮排,其後的所有內容都縮排。AND/OR 會強制換到新的縮排行。頂層括號等級的逗號也會換到新行。在壓縮模式中,所有換行和多餘空白都會摺疊為以單個空格分隔的序列。
- 4透過正則實現語法醒目提示格式化後的輸出經過一個正則,一次性符合註解、字串字面量、數字和識別符號。每個符合都包裹在帶顏色類的 React span 中——註解為淡色斜體,字串為琥珀色,數字為紫色,SQL 關鍵字(對照完整關鍵字集檢查)為青色——產生彩色輸出面板。