SQL整形・圧縮ツール

標準SQL・PostgreSQL・MySQL・SQLite・MariaDB・BigQuery に対応し、SQL をブラウザ内で整形または圧縮します。

ツールを読み込み中…

SQL整形・圧縮ツールSQL クエリを貼り付けると、見やすいインデントとキーワードの大文字小文字で整形したり、ミニファイに切り替えて 1 行にまとめたりできます。お使いのデータベースに合った方言を選べば、句や関数が正しく解析されます。すべての処理はブラウザ内で完結し、クエリがアップロードされることはありません。

SQL整形・圧縮ツールとは?

完全にブラウザ内で動作する、無料のオンライン SQL フォーマッター・圧縮ツールです。雑然としたクエリや 1 行のクエリを貼り付けると、整形(Beautify)モードが 2 スペース・4 スペース・タブのインデントで再整形し、キーワードを大文字(または小文字)にして読みやすいレイアウトに整えます。圧縮(Minify)モードはコメントを削除し、引用符で囲まれた文字列はそのまま保ちつつ、空白を取り除いてコンパクトな 1 行にまとめます。方言(標準 SQL・PostgreSQL・MySQL・SQLite・MariaDB・BigQuery)を選べば、方言固有の句や関数が正しく解析されます。バックエンド開発者やデータアナリスト、DBA が、手書きのクエリを整えたり、ORM が生成した SQL を読みやすくしたり、コードに埋め込む前に文を短くしたりするのに活用しています。

SQL整形・圧縮ツールの使い方

  1. 入力ボックスに SQL を貼り付けるか入力します。
  2. 設定を開き、お使いのデータベースに合った方言を選びます:標準 SQL・PostgreSQL・MySQL・SQLite・MariaDB・BigQuery。
  3. クエリを再整形するにはモードを Beautify(整形)のままにし、1 行にまとめるには Minify(圧縮)に切り替えます。
  4. 設定で、2 スペース・4 スペース・タブのインデントと、キーワードを大文字・小文字・そのままのいずれにするかを選びます(整形モード)。
  5. 整形結果を確認し、コピーボタンで取得するか、クリアをクリックして入力を空にし最初からやり直します。

使用例

1 行の SELECT を整形する(2 スペース・キーワード大文字)

入力

select id, name from users where active = 1 order by name

出力

SELECT
  id,
  name
FROM
  users
WHERE
  active = 1
ORDER BY
  name

複数行クエリを埋め込み用に圧縮する

入力

SELECT id, name
FROM users
-- only active rows
WHERE active = 1

出力

SELECT id, name FROM users WHERE active = 1

方言固有の SQL を整形する

整形する前に PostgreSQL・MySQL・SQLite・MariaDB・BigQuery を選んでおくと、方言固有のキーワードや関数(BigQuery のバッククォート付き名前や Postgres のキャストなど)がエラーと誤認されず、正しく認識・整形されます。

よくある質問

私の SQL はサーバーにアップロードされますか?
いいえ。整形・圧縮・方言の解析はすべて、sql-formatter ライブラリを使ってブラウザ内のローカルで処理されます。クエリが端末から外に出ることはなく、オフラインでも動作します。
どの SQL 方言に対応していますか?
標準 SQL・PostgreSQL・MySQL・SQLite・MariaDB・BigQuery から選べます。方言は、フォーマッターに方言固有のキーワード・引用方法・関数の解析方法を伝え、レイアウトが正しく保たれるようにします。
整形と圧縮の違いは何ですか?
整形は、選んだ方言の文法に従ってクエリを再インデントし、選んだキーワードの大文字小文字を適用して読みやすくします。圧縮はコメントを削除し、引用符で囲まれた文字列や識別子はそのままに、文を 1 行にまとめます。
インデントやキーワードの大文字小文字を指定できますか?
はい。設定で 2 スペース・4 スペース・タブのインデントを選び、キーワードを大文字・小文字・そのままに設定できます。これらは整形モードで適用され、圧縮は常に 1 行にまとめます。
なぜ解析エラーが表示されるのですか?
整形モードは選んだ方言でクエリを解析するため、実際の構文上の問題や、別の方言向けに書かれた文は解析に失敗することがあります。合った方言に切り替えるか、解析せず空白だけを整える圧縮を使ってみてください。

関連ツール