使い方
上部のモードから「整形」「圧縮(1 行化)」「解析」「変換ヘルパー」を選び、左の入力欄に SQL を貼り付けます(.sql ファイルを開く・ドラッグ&ドロップも可)。
方言(標準 SQL・MySQL・PostgreSQL・SQL Server・Oracle など)を選びます。方言によって引用符やコメントの書き方が違うため、結果が変わります。
整形ではキーワードの大文字・小文字、インデント幅、カンマ位置(行末・行頭)を切り替えます。圧縮ではコメントを消すか、/* */ に変えて残すかを選びます。
解析では文の数、各文の種類、参照しているテーブル名(推定)、危険な文の警告を確認します。
変換ヘルパーでは、改行区切りの値を IN 句に、見出し付きの CSV / TSV を INSERT 文にします。結果は「コピー」または「ダウンロード」で保存します。
できること
12 方言に対応した整形
標準 SQL、MySQL、MariaDB、PostgreSQL、SQL Server (T-SQL)、Oracle (PL/SQL)、SQLite、BigQuery、Redshift、Snowflake、DuckDB、Trino に対応します。キーワードの大文字・小文字・そのまま、インデント 2/4/タブ、カンマ位置、1 行の幅を選べます。
壊れない 1 行化
文字列リテラル、引用符付き識別子、PostgreSQL のドル引用、Oracle の q'[...]' の中は一切変更しません。-- や # のコメントは、残す場合は /* */ に書き換えるため、1 行にしても後ろがコメントアウトされません。最適化ヒント(/*+ */)と MySQL の条件付きコメント(/*! */)は常に残します。
危険な文の警告つき解析
文の数と種類(SELECT・INSERT・CREATE TABLE など)、参照テーブル名、コメント数を一覧にします。WHERE のない UPDATE/DELETE、DROP、TRUNCATE は何件目の文か(行番号つき)を示して警告します。
位置がわかるエラー表示
閉じられていない文字列・引用符・コメントや、構文を解析できない箇所を行・列で示し、該当行に印を付けます。「エラー位置へ移動」で入力欄の該当箇所を選択でき、入力した SQL は消えません。
方言に合わせた IN 句と INSERT 文
値リストは数値か文字列かを自動判定し、先頭が 0 の ID(例 007)は文字列として扱います。シングルクォートは二重化し、MySQL / MariaDB / BigQuery ではバックスラッシュもエスケープ。SQL Server では日本語を含む文字列に N 接頭辞を付けます。INSERT 文の識別子は方言に合わせて ` ` / [ ] / " " で引用します。
日本語の識別子・コメントもそのまま
テーブル名・列名・コメント・文字列に含まれる日本語や全角文字を変更しません。Shift_JIS の .sql / .csv ファイルも開けます。
こんなときに
- 1 行で渡されたクエリやログに出ていた SQL を、読める形に整えてレビューしたい
- 設定ファイルやコードに埋め込むために、SQL を 1 行にまとめたい
- 本番に流す前に、WHERE のない UPDATE/DELETE や DROP が混ざっていないか確認したい
- Excel や CSV の ID 一覧を WHERE ... IN (...) に貼れる形にしたい
- CSV のデータを、テスト用の INSERT 文に変換したい
対応形式
入力
出力
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| 12 方言での整形(大文字/小文字・インデント・カンマ位置) | 対応 | — |
| 文字列・引用符付き識別子・コメントを保護した 1 行化 | 対応 | -- コメントを残す場合は /* */ に変換 |
| 文の数・種類・警告(WHERE なし UPDATE/DELETE、DROP、TRUNCATE) | 対応 | — |
| 参照テーブル名の抽出 | 一部対応 | 字句の走査による推定。動的 SQL や複雑な構文では漏れや誤りがあります |
| 値リスト → IN 句、CSV/TSV → INSERT 文 | 対応 | — |
| ストアドプログラム内の文の分割 | 一部対応 | BEGIN … END の対応をとる範囲で近似します。BEGIN … END・IF 分岐・$$ 本体・EXPLAIN・WITH 内の WHERE なし UPDATE/DELETE と DROP は走査しますが、$$ 本体からテーブル名は抽出しません |
| SQL の実行・データベースへの接続 | 非対応 | 入力はブラウザの外へ出ません |
| 構文の完全な検証 | 非対応 | 整形時に解析できない箇所は示しますが、DB での実行可否は判定しません |
| 方言間の自動翻訳(例: MySQL から PostgreSQL へ) | 非対応 | 方言は整形・引用符の規則を切り替えるだけです |
| オフラインでの利用 | 対応 | 一度開いたあとは通信なしで動作 |
制限・注意事項
- 入力は最大 200 万文字です。20 万文字を超えると自動実行を止め、「実行」ボタンで処理します。
- CSV → INSERT は最大 20 万行・500 列、値リスト → IN 句は最大 50 万件です。
- Oracle の IN 句は 1,000 件までしか書けないため、超えると警告します。SQL Server の複数行 INSERT は 1 文 1,000 行までに自動で制限します。Oracle で複数行をまとめる場合は INSERT ALL 形式になります。
- 参照テーブル名と文の種類は推定です。ストアドプロシージャ、動的 SQL、方言固有の構文では正しく読み取れないことがあります。
- 整形は sql-formatter(MIT)で行うため、方言固有の新しい構文には未対応のものがあります。その場合は構文エラーとして位置を表示します。
- 1 行化しても、文字列リテラルの中の改行はそのまま残ります。
プライバシーと安全性
入力した SQL・値リスト・CSV、読み込んだファイルは、お使いのブラウザの中だけで処理されます。サーバーへの送信・保存は一切行わないため、本番のテーブル名や顧客データを含むクエリでも安心して整形できます。ページを閉じると内容は消去されます。
よくある質問
SQL を 1 行にするとき、-- のコメントはどうなりますか?
整形すると文字列の中身が変わることはありますか?
WHERE のない UPDATE や DELETE はどう検出しますか?
IN 句の値が 007 のように 0 で始まるとき、数値になりますか?
データはサーバーに送られますか?
SQL Server の日本語の文字列に N が付くのはなぜですか?
関連ツール
CSV 文字化け・文字コード修復
Excel で開くと文字化けする CSV を、文字コードを自動判定して UTF-8(BOM 付き)や Shift_JIS に変換します。化けたまま保存されてしまった「縺薙s…」のような文字も、多くの場合元に戻せます。
CSV Studio(CSV ビューア・編集・結合・分割)
Excel では重い・文字化けする CSV を、ブラウザで開いてすぐに表示・検索・編集できます。結合や分割、Shift_JIS・UTF-8(BOM 付き)・Excel・JSON での保存まで 1 画面で完結します。
CSV・JSON・XML・Excel 相互変換
CSV・TSV・JSON・JSON Lines・XML・Excel(.xlsx)を、貼り付けかファイル読み込みで相互に変換します。値は既定で文字列のままなので、先頭が 0 の郵便番号・電話番号や長い ID は変わりません。処理はすべてブラウザ内で行われ、データは送信されません。
データ健診
CSV や Excel の表を読み込むだけで、空欄・重複・表記ゆれ・文字化けなどの問題を重大度つきで一覧にし、100 点満点の健康スコアと列ごとのプロフィールを表示します。問題をクリックすると該当する行を確認でき、直せる問題は対応するツールへ案内します。
Excel データクリーンアップ
Excel や CSV の空白・全角半角・日付・数値の表記ゆれを、チェックを付けるだけで一括で整えます。変更したセルは色で確認でき、Excel・CSV(Shift_JIS 可)で保存できます。
Excel比較
新旧 2 つの Excel・CSV を読み込むだけで、追加・削除・変更された行と、変更されたセルの「旧 → 新」を色分けして表示します。差分は色付きの Excel レポートや CSV で保存できます。
最終更新: