SQL 整形・解析・変換(SQL Studio)

SQL を貼り付けるだけで、方言に合わせた整形・1 行化・解析ができます。文字列やコメントは壊さず、WHERE のない UPDATE/DELETE や DROP は警告。値リストの IN 句化や CSV からの INSERT 文生成も端末内で完結します。

端末内で処理・アップロードなし

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

入力 SQL
0 文字0 行
出力入力すると、ここに結果が表示されます。
入力すると、ここに結果が表示されます。

使い方

  1. 上部のモードから「整形」「圧縮(1 行化)」「解析」「変換ヘルパー」を選び、左の入力欄に SQL を貼り付けます(.sql ファイルを開く・ドラッグ&ドロップも可)。

  2. 方言(標準 SQL・MySQL・PostgreSQL・SQL Server・Oracle など)を選びます。方言によって引用符やコメントの書き方が違うため、結果が変わります。

  3. 整形ではキーワードの大文字・小文字、インデント幅、カンマ位置(行末・行頭)を切り替えます。圧縮ではコメントを消すか、/* */ に変えて残すかを選びます。

  4. 解析では文の数、各文の種類、参照しているテーブル名(推定)、危険な文の警告を確認します。

  5. 変換ヘルパーでは、改行区切りの値を 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 文に変換したい

対応形式

入力

SQL(テキスト貼り付け).sql.txt.csv.tsvUTF-8 / UTF-16(BOM 付き)/ Shift_JIS

出力

整形済み SQL1 行に圧縮した SQL解析結果(画面表示)IN 句INSERT 文.sql ダウンロード

対応状況

機能対応補足
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 行にするとき、-- のコメントはどうなりますか?
「消す」を選ぶと取り除きます。「残す」を選ぶと /* コメント */ に書き換えます。-- のまま 1 行にすると後ろの SQL までコメントになって壊れるため、そのままは残しません。
整形すると文字列の中身が変わることはありますか?
ありません。シングルクォートの文字列、ダブルクォート・バッククォート・[ ] で囲まれた識別子、コメントの中身は変更しません。整形の前後で意味が変わらないことは、整形→圧縮→整形が同じ結果になるテストで確認しています。
WHERE のない UPDATE や DELETE はどう検出しますか?
文の最上位に WHERE があるかを見ます。サブクエリ内の WHERE は数えません。DROP と TRUNCATE も同様に警告します。構文を完全に理解しているわけではないため、見落としや誤検出はあり得ます。実行前の最終確認には使わず、補助としてお使いください。
IN 句の値が 007 のように 0 で始まるとき、数値になりますか?
自動判定では文字列として引用符を付けます。ID や郵便番号の先頭の 0 が消える事故を防ぐためです。すべて数値にしたい場合は「値の型」で「数値」を選んでください。
データはサーバーに送られますか?
いいえ。整形・解析・変換はすべてブラウザ内(Web Worker)で行われ、入力内容が LIBRA Works のサーバーや第三者に送信されることはありません。
SQL Server の日本語の文字列に N が付くのはなぜですか?
T-SQL では、N 接頭辞のない文字列は列の照合順序によって日本語が ? に化けることがあります。そのため、方言が SQL Server のときだけ、日本語などの非 ASCII を含む文字列に 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 で保存できます。

最終更新: