長くて見づらい SQL 文を、改行・インデント・キーワードの統一などで読みやすく整形できます。逆に1行に圧縮する機能もあり、用途に応じて使い分け可能です。
目次
使い方
- テキストエリアに整形したい SQL 文を貼り付けます。
- 必要に応じてオプションを設定します(インデント幅、キーワードの大文字/小文字化、1行圧縮など)。
- 「整形」ボタンをクリックすると、見やすいフォーマットされた SQL 文が表示されます。
- 「圧縮」ボタンをクリックすれば、すべて続けて 1 行で表示されます。
入力~出力までサーバー通信なしで処理され、安全に利用できます。
整形の仕組み・ロジック
SQL 整形ツールは、主に以下のような処理を行っています:
- キーワード(SELECT, FROM, WHERE, JOIN, GROUP BY など)を検出し、各節で改行を挿入。
- ネスト(サブクエリ、括弧内)を検出して、インデントを階層構造に対応。
- キーワードの大小文字をオプションに応じて変換。
- 不要な空白や改行を統一し、コードとしての読みやすさを追求。
- 圧縮モードでは改行・空白を取り除き、SQL文を 1 行にまとめます。
このサイトの整形エンジンは JavaScript で実装されており、クライアントサイドで動作します。これにより、入力した SQL 文が外部サーバーに送られることはありません。
整形例
以下は、整形前 ⇄ 整形後の例です:
-- 整形前(1行に詰めた SQL)
SELECT a.name, b.price FROM products a JOIN orders b ON a.id = b.product_id WHERE b.date > '2025-01-01';
-- 整形後(インデント・改行付き)
SELECT
a.name,
b.price
FROM
products a
JOIN orders b
ON a.id = b.product_id
WHERE
b.date > '2025-01-01';
このように改行とインデントを入れるだけでも可読性が飛躍的に向上します。
整形のメリット
- 可読性向上でバグ発見やデバッグが容易に
- チーム開発で SQL の書式を統一できる
- レビュー効率がアップ
- 複雑なネスト構造でも視認性が保てる
- 圧縮モードでログや転送時の文字量を削減できる
特徴
- インデント幅を自由に設定可能
- キーワード大小文字切り替え対応
- 1行圧縮モード搭載
- ブラウザ内動作:サーバー送信なし
- 無料・登録不要
- レスポンシブ対応でスマホからも使いやすい
注意点・制限
- 非常に長い SQL 文や巨大なクエリでは処理時間がかかる可能性がある。
- 全ての SQL 方言(例:特殊構文、独自拡張)には対応しきれない場合がある。
- 複雑なネストや多重サブクエリではインデント階層が深くなり、可読性が逆に下がる可能性がある。
- 圧縮モードでは可読性がなくなるので、レビュー用途では不向き。
よくある質問(FAQ)
Q. SQL 方言(MySQL, PostgreSQL, SQL Server 等)に対応していますか? A. 基本的な SQL 構文(SELECT, INSERT, UPDATE, DELETE, JOIN, WHERE など)には対応していますが、方言特有の構文すべてには対応できない可能性があります。 Q. どういうインデント幅がいいですか? A. 一般的には 2 スペースまたは 4 スペースが使われます。プロジェクトの規約に合わせるのが良いでしょう。 Q. 圧縮モードはいつ使うべき? A. ログ保存や URL クエリ文字列に埋め込む用途など、見た目より文字数を削減したいときに有効です。


コメント