SQLフォーマッター & 圧縮ツール

ブラウザ上でSQLクエリを美しくインデントし、キーワードを大文字化して圧縮。

SQLフォーマッター & 圧縮ツール

ブラウザ上でSQLクエリを美しくインデントし、キーワードを大文字化して圧縮。

使い方

1
テキストを入力または貼付
入力エリアに対象のテキストやコードを貼り付けます。
2
変換・解析を実行
整形、フィルタリング、変換などの処理を適用します。
3
結果をコピー
処理されたクリーンな結果をクリップボードにコピーします。
概念&ナレッジハブ

SQL整形・クエリ美化ツール、キーワード大文字化・インデント・軽量化

チーム開発やデータベース管理において、SQLクエリは複数人のエンジニアによって記述される過程で、予約語の大文字・小文字の不一致、JOIN句のネストの乱れ、改行の欠落などによって極めて可読性が低下しがちです。複雑なSELECT文、JOIN結合、サブクエリを業界標準のコーディング規約に即して美しくインデント整形します。

例えばデータベース管理者がスロークエリログから抽出した、18個のテーブルJOINと3つのサブクエリが1行(1,840文字)に詰め込まれた未整形クエリを入力したとします。「キーワードを大文字化」を選択して実行すると、SELECT、FROM、LEFT JOIN、WHERE、GROUP BYなどの主要句が左揃えに整列され、サブクエリが2スペース階層でインデントされた64行の整然としたクエリへと再構築されます。さらにPythonやNode.jsコード内に文字列として埋め込むための「軽量化(Minify)」機能により、余分な空白を除去したコンパクトな1行クエリ(1,120バイト)への再圧縮もワンクリックで完了します。

SQLクエリの字句解析、トークン分解、構文整形はすべてブラウザの内部メモリ上でのみ処理されます。社内のテーブル定義、カラム名、顧客データのクエリパラメータが外部サーバーへ送信されることは絶対にありません。

コアアーキテクチャ&計算式

SQL整形: [トークン解析] ➔ [キーワード大文字化] ➔ [句レベル改行・スタックインデント] ➔ [構文木レンダリング]

ANSI SQL規格に準拠し、PostgreSQL、MySQL、MariaDB、SQLite、SQL Server、Oracleの主要データベース構文を字句解析して再配置します。

ベストプラクティスと必須ガイドライン

  • 予約語(SELECT, FROM, WHERE等)は必ず大文字で統一する: SQL命令文とテーブル名・カラム名を視覚的に即座に判別できるようにするため、大文字キーワード規約を遵守してください。
  • 各JOIN結合条件(ON句)を独立した行でインデントする: JOIN句とON句を1行にまとめず改行して配置することで、意図しない直積結合(Cartesian Product)のバグを早期発見できます。
  • WHERE句の複数条件(AND/OR)を行頭に揃える: 複合検索条件ではANDやORを行頭に配置して縦に並べることで、演算子の優先順位やカッコの括りミスを直感的に把握しやすくなります。
  • 本番デプロイ前のコメントアウト行の確認: テスト段階で追加された「-- WHERE 1=1」等のデバッグ用コメントが本番ビルドに残らないよう、整形後のクリーンアップを徹底しましょう。

よくある質問 (FAQ)

対応しているSQLダイアレクト(方言)は何ですか?
標準ANSI-SQLをはじめ、PostgreSQL、MySQL、MariaDB、SQLite、Microsoft SQL Server(T-SQL)、Oracleの主要構文に対応しています。
SQL文の中に書かれたコメントは削除されてしまいますか?
通常の整形処理では行コメント(--)もブロックコメント(/* */)も元の位置に綺麗に保持されます。「軽量化(Minify)」を実行した時のみコメントが除去されます。
ネストされた深いサブクエリも正しくインデントされますか?
はい。カッコの階層の深さをパーサーがスタック管理しているため、多重にネストされたサブクエリも階層ごとに適切にインデント幅が深くなります。
本番環境のデータベースクエリを貼り付けても安全ですか?
完全に安全です。すべての整形処理はブラウザのクライアントサイドで完結しており、クエリ内容が外部サーバーに送信・記録されることは一切ありません。