本文へ移動
ZEKILO Dev

SQL整形

クエリを貼り付けると、句ごとに改行して整形します。文字列・名前・コメントはそのまま残します。

入力はブラウザの外に出ませんISO/IEC 9075 (SQL)基準日 2026.10.03

入力

Escを押してからTabを押すと、入力欄から移動できます。

出力

SQL整形の使い方

  1. 1入力欄にSQLを貼り付けるか、「例を入れる」を押します。
  2. 2使っているデータベースの方言を選び、キーワードの大文字・小文字とインデントを決めると、結果がすぐに変わります。
  3. 3「コピー」で結果をコピーするか、「ダウンロード」で .sql ファイルとして保存します。

SQL整形のオプション

方言
標準SQL(既定)、MySQL、MariaDB、PostgreSQL、SQLite、SQL Server(T-SQL)、Oracle(PL/SQL)、BigQueryから選びます。どの単語がキーワードか、どの引用符が使えるかは方言によって変わります。
キーワード
大文字(既定)は SELECT などのキーワードを大文字に、小文字は小文字にします。そのままは入力どおりに残します。テーブル名と列名は変えません。
インデント
2スペース(既定)、4スペース、タブから選びます。
圧縮(1行に)
整形したクエリを1行につなぎます。-- コメントの後には改行を残します。同じ行に続けて書くと、後ろの内容がすべてコメントになってしまうためです。

このツールがSQLを扱う方法

SQLは ISO/IEC 9075 で定められていますが、データベースごとにキーワード、引用符、演算子が追加されています。方言を選ぶ必要があるのはそのためです。バッククォートはMySQLでは名前ですが、PostgreSQLではエラーになります。角括弧はSQL Serverでは名前ですが、BigQueryでは配列の文法です。

このツールは、クエリをキーワード、名前、文字列、数値、演算子、コメントというトークンの並びとして読み取ります。そして同じトークンを、改行とインデントだけを入れ直して書き出します。SELECT、FROM、WHERE などの句はそれぞれ新しい行から始まり、その内容は下の行に字下げして書きます。書き換えるのはトークンの間の空白だけなので、'a b' のような文字列の中の2つの空白はそのまま残ります。

整形にはオープンソースのライブラリ sql-formatter を使っています。

しないこと

データベースのようにSQLを解釈することはありません。きれいに整形できたクエリでも実行すると失敗することがあり、列名に打ち間違いがあってもそのまま整形します。

SQL整形の例

  • クエリを整形(既定:標準SQL、大文字、2スペース)

    入力

    select id, name from users where age > 20 order by name

    出力

    SELECT
      id,
      name
    FROM
      users
    WHERE
      age > 20
    ORDER BY
      name
  • キーワードを小文字、4スペース

    入力

    select id, name from users where age > 20 order by name

    出力

    select
        id,
        name
    from
        users
    where
        age > 20
    order by
        name
  • 圧縮(1行に)

    入力

    select id, name from users where age > 20 order by name

    出力

    SELECT id, name FROM users WHERE age > 20 ORDER BY name

例は、このツールを検証している基準ケースの値です。

SQL整形のよくある質問

入力したデータはサーバーに送信されますか?

いいえ。入力と結果はこのブラウザ内だけで処理され、保存もしません。再読み込みすると消えます。

整形するとクエリの動作は変わりますか?

変わりません。変わるのは空白、改行、キーワードの大文字・小文字だけです。文字列の値、引用符で囲んだ名前、数値、コメントの内容はそのまま写します。選んだ方言でキーワードにあたる単語は、名前として使っていてもキーワードとして扱うため、キーワードのオプションによって大文字・小文字が変わることがあります。変えたくない場合は「そのまま」を選んでください。

どの方言を選べばよいですか?

クエリを実行するデータベースを選んでください。一般的なクエリは標準SQLでも整形できますが、バッククォート、角括弧、ドル引用符の文字列、一部の演算子は、その文法を持つ方言でしか受け付けません。

「SQLを整形できません」と表示されるのはなぜですか?

文字をSQLのトークンに分けられなかったという意味です。閉じていない文字列や括弧、または別の方言の文法がよくある原因です。止まった行と列もあわせて表示します。

SQLが正しいかどうかの検査や実行はしますか?

いいえ。文字を整えるだけです。データベースには接続せず、テーブルの構造も知らず、列名の打ち間違いのようなミスはお知らせしません。

処理方法・標準

  • 処理する場所:このブラウザ(お使いの端末)。送信も保存もしません。
  • 標準: ISO/IEC 9075 (SQL)
  • エンジン: sql-formatter 15.9.0 (MIT)
  • 複数行にわたるコメントの中では、各行の先頭の空白をそろえ直します。コメントの文字は変わりません。
  • 行をつなぐと文字列やコメントが変わるおそれがあるクエリは圧縮せず、整形した結果を表示してその旨をお知らせします。
  • 長いスクリプトは時間がかかります。64KBを超える入力はバックグラウンドで処理するので、画面は固まりません。
  • 基準日 2026.10.03
  • 変更履歴: 2026.10.03 公開
オープンソースライセンス →
結果がおかしい場合は、エラーを報告する(入力内容は添付されません)