SQL の可読性を高めるためのブラウザ型フォーマッタ
MySQL を含む SQL 文は、インデントや改行が不揃いだとロジックの把握が難しくなります。ブラウザ上で完結する Web フォーマッタを活用すれば、コピペ1回で整形済みのコードを得られ、レビューや障害調査の効率が飛躍的に向上します。
Web フォーマッタが解決する課題
- SELECT リストや JOIN 句が横に長くなり、横スクロールが発生している
- サブクエリのネストが深く、どこが対応する括弧か分からない
- チーム内で CASE 文のインデントルールがバラバラ
代表的な Web サービス3選
| サービス名 | 特徴 | キー操作 |
|---|---|---|
| sqlformat.org | MySQL/MariaDB モードが選択可能 | 「Format SQL」ボタン |
| poorsql.com | カラーテーマが豊富 | Ctrl+Enter で即整形 |
| codebeautify.org/sqlformatter | インデント幅を 2/4/8 から選択 | 「Format」アイコン |
実際の変化を見てみる
整形前の SQL は1行で書かれているため、条件式や JOIN の関係が一目では分かりません。
SELECT u.id,u.name,r.role_name FROM users u JOIN roles r ON u.role_id=r.id WHERE u.active=1 AND r.level>=3;
sqlformat.org に貼り付けて「Format SQL」を押すと、以下のように整然とした構造に変換されます。
SELECT
u.id,
u.name,
r.role_name
FROM
users AS u
JOIN
roles AS r
ON u.role_id = r.id
WHERE
u.active = 1
AND r.level >= 3;
オプション設定でチームルールを反映
多くの Web フォーマッタは「キーワード大文字/小文字」「インデント幅」「カンマの前後スペース」などを GUI で切り替えられます。ルールを JSON や URL パラメータとして保存しておけば、チームメンバー全員が同じスタイルを即座に適用できます。
CLI やエディタ拡張との使い分け
頻繁に SQL を書く開発環境では、VS Code の「SQL Formatter」拡張や sqlfmt コマンドを CI に組み込む方法もあります。しかし、障害発生時に本番コンソールから素早く整形したい場合や、社外パートナーにクエリを共有するときなど、環境を選ばない Web フォーマッタは依然として重宝します。