# SQL 格式化工具

URL: https://tools.otaku-dojo.com/zh-tw/sql-formatter
Updated: 2026-10-04

SQL 格式化工具會把擠成一行的 SQL 依子句（SELECT、FROM、WHERE、JOIN、GROUP BY、ORDER BY…）換行，欄位清單一行一個，AND / OR 條件分行排列，子查詢自動往內縮排，並可把關鍵字統一成大寫或小寫；也能反過來壓縮成一行。字串與註解會原樣保留，全部在瀏覽器處理。

## 如何使用SQL 格式化工具

1. 把 SQL 貼到左側，或按「範例」載入一段 JOIN 查詢。
2. 選擇排版或壓縮、關鍵字大小寫與縮排寬度。
3. 右側即時顯示結果；括號不成對時狀態列會提醒。
4. 按「複製」貼回程式，或「下載」存成 .sql。

## 規格與重點

- **支援語法**: SELECT、INSERT、UPDATE、DELETE、WITH、各種 JOIN、子查詢、CASE、UNION
- **排版規則**: 子句換行、欄位一行一個、AND / OR 分行、子查詢縮排
- **選項**: 排版 / 壓縮、關鍵字大寫 / 小寫 / 保留、縮排 2 或 4 空格
- **保留內容**: 字串、識別字引號（`` ` `` 與 "）與註解
- **不包含**: SQL 語法驗證與執行
- **處理位置**: 你的瀏覽器（查詢不會上傳）

## 範例: 排版 JOIN 與條件

```sql
select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 and o.status = 'paid' group by u.id
```

→

```sql
SELECT
  u.id,
  COUNT(o.id) AS orders
FROM
  users u
LEFT JOIN orders o
  ON o.user_id = u.id
WHERE
  u.active = 1
  AND o.status = 'paid'
GROUP BY
  u.id
```

## 常見問題

### 會檢查 SQL 語法是否正確嗎？

不會完整驗證，只會提醒引號沒關或括號不成對。語法是否正確請以資料庫實際執行為準。

### 支援哪些資料庫？

MySQL、MariaDB、PostgreSQL、SQLite、SQL Server 的常用語法都能排版；資料庫專屬語法會原樣保留。

### 格式化會改變查詢結果嗎？

不會。只調整空白、換行與關鍵字大小寫，字串內容與識別字都保持不變。

### 把正式資料庫的查詢貼上來安全嗎？

安全。排版完全在你的瀏覽器內進行，查詢內容不會傳送到伺服器。
