SQL フォーマッターとミニファイ
乱れた SQL をレビュー用に整形するか、ログ、環境変数、文字列リテラル向けに1行にミニファイ。この無料 SQL フォーマッターとミニファイはブラウザ内完結のため、実テーブル名を含む本番クエリはアップロードされません。トークナイザは文字列安全: 引用内コメント、PostgreSQL ドルクォート、バッククォート、オプティマイザヒント (/*+ と /*!
SQL フォーマッターとミニファイについて
乱れた SQL をレビュー用に整形するか、ログ、環境変数、文字列リテラル向けに1行にミニファイ。この無料 SQL フォーマッターとミニファイはブラウザ内完結のため、実テーブル名を含む本番クエリはアップロードされません。トークナイザは文字列安全: 引用内コメント、PostgreSQL ドルクォート、バッククォート、オプティマイザヒント (/*+ と /*! */) を保持。ライブ clause map で CTE、JOIN、フィルターを一覧し、ログの1行ダンプを PR 前に読みやすく。JSON ミニファイと同形: 1 URL、整形/ミニファイ、Standard / PostgreSQL / MySQL / SQLite。
SQL フォーマッターとミニファイの使い方
- Format SQL(クエリフォーマッター)または Minify SQL を選びます。デフォルトは整形。
- クエリを貼るか .sql をドロップ(最大 2 MB、ブラウザ内のみ)、または JOIN / CTE / INSERT / PostgreSQL サンプルを読み込み。
- ダイアレクトを選ぶ(または検出結果を受け入れ)、整形ではキーワードケースとインデント、ミニファイではヒント保持を設定。
- clause map(CTE、FROM、JOIN、WHERE / GROUP / ORDER / LIMIT)を確認し、コピーまたはダウンロード。アップロードなし。
SQL フォーマッターとミニファイの例
1行ログクエリの整形
JOIN 付き SELECT が1行に潰れている場合、各 SELECT 項目、JOIN、ON、WHERE、ORDER BY が行分けされ、キーワードは大文字化されます。
埋め込み向け SQL ミニファイ
整形済みクエリはコメント除去の1行に。オプティマイザヒント (/*+ INDEX */) と MySQL バージョンコメント (/*!40101 */) はオフにしない限り残ります。
CTE と JOIN の概要
WITH active AS (...) SELECT ... JOIN orders は CTE 本体がインデント付きで整形。clause map に CTE 名、JOIN 種別、GROUP BY が並び、全行を読まず構造を確認できます。
PostgreSQL ドルクォート
SELECT $body$ line -- still a string $body$::text は1リテラルのまま。正規表現ミニファイは -- で切ります。PostgreSQL ダイアレクト(または sniff 結果)で :: キャストと $1 プレースホルダーに対応。
コメントに見える文字列
VALUES (1, 'Ada -- not a comment') はエスケープされた文字列を保持。引用内の -- は SQL コメントとして扱いません。
SQL フォーマッターとミニファイに関するよくある質問
- この SQL フォーマッターを使うには?
- SQL を貼る(または .sql をドロップ)、Format SQL のまま Standard / PostgreSQL / MySQL / SQLite を選び、インデント結果をコピー。キーワードケースとインデント(2 または 4 スペース)を調整。すべてブラウザ内。
- SQL ミニファイにも使える?
- はい。同一ページでコメントと余分な空白を1行に畳み、文字列リテラル、ドルクォート、引用識別子は触りません。env、URL パラメータ、ログ、アプリ文字列内 SQL に。
- SQL はサーバーにアップロードされる?
- いいえ。トークン化、整形、ミニファイはブラウザ内のみ。本番クエリは顧客データの近くにあることが多く、サーバー側フォーマッターは不向きです。
- 対応 SQL ダイアレクトは?
- Standard SQL、PostgreSQL、MySQL、SQLite。引用とコメントが異なります: PostgreSQL ドルクォートと ::、MySQL バッククォート / # / /*! */、SQLite AUTOINCREMENT と [identifiers]。sniffer と不一致なら検出ダイアレクトを使用。
- ミニファイで -- や /* */ を含む文字列は壊れる?
- いいえ。文字列、ドルクォート、引用識別子を閉じてからコメントを探します。'Ada -- not a comment' と $tag$ -- still a string $tag$ は生存。単純 regex ミニファイは失敗します。
- ミニファイでオプティマイザヒントは除去される?
- デフォルトではいいえ。/*+ INDEX(...) */ と MySQL /*!40101 ... */ はプランに影響するため残ります。通常の -- と /* */ は除去。Keep optimizer hints のチェックを外すとそれらも除去。
- clause map とは?
- CTE、SELECT 数、FROM テーブル、JOIN 種別、WHERE / GROUP BY / ORDER BY / LIMIT の有無の構造読み出し。ダンプクエリのレビュー用で、SQL は実行されません。
- 整形でクエリ意味は変わる?
- いいえ。空白、改行、キーワードケース、(ミニファイ時)コメントのみ変更。テーブル名、列名、リテラル、ヒントはそのまま。DB 結果は同じです。
- sqlformat.io や aiven との違いは?
- それらは汎用整形で止まりがち。本 URL はミニファイも、ヒント保持、ドルクォート安全、ダイアレクト sniff、clause map - JSON/JS ミニファイと並ぶクライアント側。
関連ツール
JSON Minifier & Formatter
無料オンライン JSON minifier と formatter。JSON を minify してペイロードを縮小、または beautify(pretty-print)で2スペースインデント。入力検証 - アップロード不要。
JavaScript ミニファイ
無料のオンライン JavaScript ミニファイ。コメント削除と空白の整理で JS を圧縮・ミニファイ - ファイルを小さくし、ページ読み込みを高速化。ブラウザ内で実行、アップロード不要。
テキスト差分チェッカー
ブラウザで2つのテキストを左右に比較。アップロードなし - 設定、ログ、契約書にも安全。空白・大文字小文字を無視、単語単位ハイライト、unified diff をコピー。
XML フォーマッターとミニファイ
無料 XML フォーマッターと XML ミニファイ。ブラウザで XML、SVG、RSS、設定ファイルを整形または圧縮 - アップロードなし。