SQLを整形・成形して読みやすくするツール。インデントや改行を自動で整理し、 MySQL、PostgreSQL、SQL Server など複数のデータベースに対応しています。
1. オプション
2. SQLを入力
3. 整形結果
整形結果がここに表示されます
JOIN整形スタイル
「JOIN整形スタイル」を有効にすると、JOIN 部分を次の形式で整形します。
FROM
Table_A A
INNER JOIN
Table_B B
ON B.id = A.id
AND B.num = A.num 対応している方言
- 標準 SQL … 汎用的なSQL
- MySQL … MySQL / MariaDB
- PostgreSQL … PostgreSQL
- SQL Server (T-SQL) … Microsoft SQL Server / Azure SQL
注意事項
- このツールはブラウザ上で動作し、データはサーバーに送信されません
- 複雑な構文や方言固有の構文は正しく解析できない場合があります
- 重要なSQLは整形前にバックアップを取ることをおすすめします
SQL整形が役立つ場面
ORM やツールが吐き出すSQLは1行に詰まっていることが多く、WHERE 句や JOIN がどこまで続いているのか読み取りづらい。整形して改行とインデントを入れると、句の切れ目や入れ子の関係が見えるようになる。
レビューで他人のクエリを読むとき、長いクエリのバグを追うとき、ログに出たスロークエリを解析するときなど、まず整形してから中身を見ると手間が減る。
方言(dialect)を選ぶ意味
SQLは標準仕様がありつつ、データベースごとに細かな違いがある。識別子の引用符が MySQL ではバッククォート、PostgreSQL や標準ではダブルクォート、といった差だ。方言を合わせておくと、こうした記法やキーワードを誤って崩さずに整形できる。
- 標準 SQL … 特定のDBに寄せない汎用的な整形
- MySQL … MySQL / MariaDB
- PostgreSQL … PostgreSQL
- SQL Server (T-SQL) … Microsoft SQL Server / Azure SQL
このツールの仕組み
整形には sql-formatter ライブラリを使い、すべてブラウザ内で実行している。入力したSQLがサーバーへ送られることはないので、社内のクエリや本番のSQLでも安心して貼り付けられる。整形が変えるのは空白だけで、テーブル名・カラム名・条件などはそのまま保たれる。
よくある質問
- 整形するとSQLの意味は変わる?
- 変わらない。改行やインデントといった空白の入れ方を調整するだけなので、実行結果は整形前とまったく同じになる。
- どのデータベースに対応している?
- 標準SQL・MySQL・PostgreSQL・SQL Server (T-SQL) に対応。方言を選ぶと、その DB のキーワードや引用符の扱いに合わせて整形される。
- 入力したSQLは送信される?
- いいえ。ブラウザ内のライブラリで整形しており、SQLがサーバーに送られることはない。