logo
GeekFormat

SQL 変換ツール

GeekFormat のオンライン SQL 変換ツールは、SQL INSERT 文や CREATE TABLE スクリプトを JSON、CSV、TSV、XML、YAML、HTML テーブル、Markdown テーブル、JSON Lines など多様な形式にワンクリックで変換します。複数の INSERT 文や多値タプルの一括解析に対応し、数値、文字列、NULL、ブール値、16 進数リテラルを自動認識します。MySQL、PostgreSQL、SQLite、SQL Server 各方言の引用符スタイルに対応し、複数テーブルのデータは個別または統合して出力できます。また逆方向に INSERT 文を再構築し方言を切り替えることも可能です。すべてブラウザ内でローカル処理され、データは端末から離れません。

関連おすすめ

SQL 変換について:SQL スクリプトを JSON/CSV/XML などに変換する

SQL 変換(SQL Conversion)とは、SQL スクリプト内のデータを抽出し、JSON、CSV、XML、YAML、HTML、Markdown など他のデータ形式に再構成するプロセスを指します。SQL(Structured Query Language、構造化クエリ言語)はリレーショナルデータベースの標準クエリ言語で、データベースエクスポートツール(mysqldump、pg_dump など)は通常データを INSERT 文形式の SQL スクリプトとして出力します。この形式はデータベースインポートには便利ですが、プログラムの読み込み、データ分析、システム間交換には不便なため、より汎用的な形式への変換が必要になります。

一般的な SQL データエクスポートスクリプトには 2 種類の文が含まれます:CREATE TABLE はテーブル構造(列名、データ型、制約)を定義し、INSERT INTO ... VALUES (...) が実際のデータを挿入します。本ツールはこの 2 種類の文を解析し、CREATE TABLE から列定義と型情報を、INSERT から実際のデータ行を抽出し、ユーザーが選択した形式に再構成して出力します。解析プロセスはすべてブラウザ内で完結し、バックエンドサービスに依存しません。

なぜ SQL を他の形式に変換する必要があるのでしょうか?SQL は汎用的ですが、次の场景では不便です:第一に、フロントエンドプログラムでは JSON の方が SQL よりはるかに読みやすく、SQL パーサーを導入する必要がありません。第二に、Excel、Google Sheets などの表計算ソフトは SQL ではなく CSV をネイティブでサポートします。第三に、設定ファイルやドキュメントの场景では YAML や Markdown の方が SQL より読みやすいです。第四に、システム間データ交換では XML や JSON が中立的な形式としてよく使われます。SQL をこれらの汎用形式に変換することで、より多くのツールや言語がデータを直接消費できるようになります。

本ツールの SQL パーサーは手書き実装で、INSERT 文と CREATE TABLE 文の解析に特化しています。INSERT 文については、単一値タプル(INSERT INTO t (a,b) VALUES (1,2))と多値タプル(INSERT INTO t (a,b) VALUES (1,2), (3,4), (5,6))の両方の構文をサポートし、列名に従ってデータを自動マッピングします。CREATE TABLE 文については、列定義、データ型(VARCHAR(255)、INT、DECIMAL(10,2) など括弧付き長さ)、NOT NULL、PRIMARY KEY、IF NOT EXISTS などの制約と句を解析し、括弧のネストを正しく処理して誤った分割を防ぎます。

型認識は SQL 変換の鍵です。ツールは値のリテラル形式に基づいて型を自動判定します:単一引用符またはダブルクォートで囲まれたものは文字列、NULL(大文字小文字区別なし)は空値、TRUE/FALSE はブール値、0x...、X'...'、B'...' は 16 進数リテラル、純粋な数値(符号、小数点、科学記法を含む)は数値とみなされます。この自動型認識により、変換後の JSON、CSV などの形式が元のデータセマンティクスを保持し(数値の 1 が文字列の "1" にならない)、下流プログラムが正しく処理できます。

データベース方言ごとの引用符スタイルの違いは、SQL 解析でよくある落とし穴です。MySQL は識別子(テーブル名、列名)をバッククォート(`)で囲み、PostgreSQL はダブルクォート(")、SQL Server/T-SQL は角括弧([])、標準 SQL もダブルクォートを使用します。本ツールの unquoteIdentifier 関数はこれらの引用符を自動的に認識・除去し、引用符内のエスケープ(`` → `、"" → ")も処理します。SQL 再構築モードでは、対象方言に応じた引用符スタイルで INSERT 文を再生成できます。

SQL 文字列のエスケープはもう一つの重要な技術ポイントです。SQL 標準では文字列内の単一引用符をダブルクォートでエスケープし('It''s' は It's を表す)、MySQL はバックスラッシュエスケープ(\n、\t、\'、\"、\\、\0、\Z など)もサポートします。本ツールの文字列パーサーは両方のエスケープメカニズムを処理し、元の文字列内容を正しく復元します。CSV 変換時は RFC 4180 標準に従いカンマ、引用符、改行を含むフィールドを再エスケープし、XML/HTML 変換時は &、<、>、"、' などの特殊文字をエスケープします。

純フロントエンド処理は本ツールの中核設計原則です。すべての SQL 解析とデータ変換はブラウザの JavaScript エンジン内で実行され、いかなるデータもサーバーに送信されません。つまり、SQL スクリプトにユーザープライバシー、商業的機密情報、社内データベース構造が含まれていても、外部に漏洩することはありません。この設計は本番データベースのエクスポート処理に特に適しており、データコンプライアンスの懸念がありません。また、フロントエンド処理はネットワーク遅延がなく、変換速度は端末の CPU とメモリのみに制限されます。

本ツールは従来のコマンドライン SQL 変換ツール(sql2csv、sqlparser など)と比較していくつかの利点があります:インストールや環境設定が不要でページを開けばすぐ使える、視覚的インターフェースで変換結果をリアルタイムプレビュー、複数の出力形式をワンクリックで切り替え可能、サンプルデータとヘルプドキュメントを内蔵、モバイル対応デザインでどこでも使えるなどです。一方で、本ツールはデータ抽出に特化し、複雑な方言差異(PostgreSQL の JSONB 演算子、MySQL の ON DUPLICATE KEY UPDATE など)や高度な機能(ストアドプロシージャ、関数、トリガー)は処理しません。そのようなニーズにはデータベースネイティブツールや専用 ETL プラットフォームの使用を推奨します。

SQL 変換ツールを使う際、いくつかのベストプラクティスに留意してください:第一に、変換前に SQL スクリプトが実際のデータ(INSERT 文)を含んでいるか、クエリ文(SELECT)のみでないかを確認してください。SELECT は解析されません。第二に、複数テーブルの SQL スクリプトでは「複数テーブル個別出力」を有効にしてテーブル構造情報を保持することを推奨します。第三に、日本語を含む SQL を処理する場合、CSV 出力で「BOM を含める」を有効にして Excel がエンコーディングを正しく認識できるようにしてください。第四に、大容量の SQL dump を処理する場合は「整形出力」をオフにして出力サイズを削減してください。第五に、クロスデータベース移行時は「SQL 再構築」モードで方言を切り替えられますが、複雑な型(PostgreSQL 配列、JSONB など)は手動調整が必要な場合があります。

ユースケース

  • mysqldump や pg_dump でエクスポートした SQL スクリプトを JSON に変換し、API データインポートやフロントエンドでのデータ消費に活用。
  • データベースの INSERT 文を CSV ファイルに変換し、Excel/WPS/Google Sheets に取り込んでデータ分析やレポート作成を行う。
  • SQL バックアップスクリプトからデータを抽出して XML に変換し、システム間データ交換や SOAP インターフェース連携に使用。
  • SQL データを YAML 設定形式に変換し、Ansible、Docker Compose、Kubernetes などの設定シナリオで活用。
  • SQL クエリ結果(INSERT としてエクスポート)を HTML テーブルに変換し、Web ページに直接埋め込んで表示。
  • SQL データを Markdown テーブルに変換し、README、ドキュメントサイト、技術ブログに貼り付けてサンプルデータを表示。
  • CREATE TABLE + INSERT の完全スクリプトからデータを抽出し、Elasticsearch の一括インデックス用に JSON Lines に変換。
  • データベース移行時に MySQL の INSERT スクリプトを PostgreSQL 方言の INSERT に再構築し、クロスデータベースでのデータインポートを容易に。
  • テストデータ管理:テスト用 SQL シードデータを JSON 設定に変換し、プログラムからの読み込みやバージョン管理を容易に。
  • 教育デモ:SQL 文を複数形式に変換して比較し、学習者が異なるデータ表現形式の違いを理解できるよう支援。
  • ETL フロー前処理:上流の SQL dump を構造化 JSON/CSV に変換し、下流 ETL パイプラインの入力として使用。
  • データ分析:SQL エクスポートから主要データを抽出して CSV に変換し、pandas、R などのツールで統計分析を実施。
  • 顧客納品:データベースエクスポートをより汎用的な JSON や CSV 形式に変換し、非技術者にも閲覧しやすい形で納品。
  • データアーカイブ:歴史的データベースの INSERT スクリプトを読みやすい YAML や Markdown に変換して保管。

使い方

  1. 左側の入力ボックスに SQL スクリプトを貼り付けるか、「SQL をアップロード」ボタンをクリックして .sql/.txt ファイルを選択します。
  2. 「サンプル」ボタンをクリックして内蔵の SQL サンプル(CREATE TABLE と複数テーブル INSERT を含む)を読み込みます。
  3. 右側出力パネル上部の形式ドロップダウンから対象形式(JSON、CSV、XML、YAML など 9 種類)を選択します。
  4. 「設定」ボタンをクリックして変換オプションを調整します:整形出力、BOM 含める、複数テーブル個別出力、CSV 区切り文字、JSON ルートキー名、SQL 方言など。
  5. 「変換」ボタンをクリックして変換を実行します。結果は右側パネルに自動表示され、下部ステータスバーにテーブル数、行数、INSERT 数などの統計が表示されます。
  6. 「コピー」をクリックして変換結果をクリップボードにコピーするか、「ダウンロード」をクリックして結果を対応形式のファイル(result.json、result.csv など)として保存します。
  7. 出力形式を切り替えると自動的に再変換されるため、変換ボタンを再度クリックする必要はありません。

特徴

  • 9 種類の出力形式:JSON、JSON Lines、CSV、TSV、XML、YAML、HTML テーブル、Markdown テーブル、SQL 再構築。形式を切り替えると自動的に再変換されます。
  • INSERT 文の解析:INSERT INTO ... VALUES (...) 構文を自動認識し、単一行および多値タプルの一括挿入(1 つの INSERT で複数行)に対応します。
  • CREATE TABLE 認識:CREATE TABLE 文を解析し、列定義、データ型、NOT NULL、PRIMARY KEY などの制約情報を抽出します。フィールド型の推論に利用できます。
  • 複数テーブルデータ処理:スクリプトに複数テーブルが含まれる場合、テーブルごとに個別出力(テーブル名の区切りマーク付き)または統合出力が可能で、各テーブルの列と行を自動的に集約します。
  • 自動型認識:数値(整数/浮動小数点)、文字列、NULL、ブール値(TRUE/FALSE)、16 進数リテラル(0x...、X'...'、B'...')をインテリジェントに認識し、元の型セマンティクスを保持します。
  • 多方言引用符対応:MySQL バッククォート(`)、PostgreSQL ダブルクォート(")、SQL Server 角括弧([])および標準引用符を認識し、識別子の引用符を自動で除去します。
  • SQL 文字列エスケープ解除:SQL 標準エスケープ('' → ')と MySQL バックスラッシュエスケープ(\n、\r、\t、\0、\'、\")を処理し、特殊文字を含む文字列を正しく復元します。
  • SQL 方言再構築:MySQL、PostgreSQL、SQLite または標準 SQL 方言で INSERT 文を再生成できます。テーブル名のカスタマイズや CREATE TABLE のオプション生成にも対応します。
  • 柔軟な CSV 設定:区切り文字(カンマ/セミコロン/Tab/パイプ)、UTF-8 BOM ヘッダー(Excel 互換)の有無、インデント整形の有無を選択可能で、RFC 4180 標準に準拠します。
  • 複数の JSON 構造:テーブル別グループ化(tables ルートキー)、純粋データ(data ルートキー)、純配列(ルートキーなし)の 3 種類の JSON 構造を出力でき、消費场景に合わせて選べます。
  • リアルタイム統計表示:変換後に解析されたテーブル数、総行数、INSERT 文数、出力文字数をリアルタイムで表示し、変換結果の完全性を確認できます。
  • ファイルアップロードとダウンロード:.sql/.txt/.csv/.tsv/.json ファイルをアップロードして直接解析でき、変換結果は対応形式のファイル(.json、.csv、.yaml など)としてダウンロード可能です。
  • 履歴管理:左パネルに内蔵された履歴サイドバーが直近の SQL 入力を自動保存し、以前のスクリプトを素早く再読み込みできます。
  • モバイル対応:スマートフォンでは入力/結果のタブ切り替えレイアウトに自動切替、デスクトップではドラッグ可能なデュアルパネル分割を使用し、すべての操作がモバイルでも利用できます。
  • 完全ブラウザローカル処理:すべての解析と変換はブラウザの JavaScript で完結し、サーバーリクエスト不要。SQL データは端末から離れないため、機密情報を含むデータベースエクスポートの処理に最適です。

よくある質問

SQL をどの形式に変換できますか?

本ツールは 9 種類の出力形式に対応しています:JSON(構造化配列)、JSON Lines(1 行に 1 つの JSON オブジェクト)、CSV(カンマ区切り)、TSV(Tab 区切り)、XML(タグ付きの標準 XML ドキュメント)、YAML(設定形式)、HTML テーブル(スタイル付きでブラウザで直接閲覧可能)、Markdown テーブル(ドキュメント構文)、SQL 再構築(INSERT 文を再生成し方言切替可能)。右側の形式ドロップダウンから切り替えるだけで自動的に再変換されます。

どの SQL 文を解析できますか?

主に INSERT INTO ... VALUES (...) 文を解析してデータを抽出し、同時に CREATE TABLE 文を認識して列定義と型情報を取得します。単一 INSERT、多値タプル INSERT(1 つの INSERT で複数行)、複数の INSERT 文、複数テーブルにまたがる INSERT に対応します。コメント(-- 単一行、/* */ 複数行、# MySQL 単一行)は自動的に削除され、解析に影響しません。

どのデータベース方言に対応していますか?

解析時には MySQL(バッククォート `)、PostgreSQL(ダブルクォート ")、SQL Server(角括弧 [])および標準 SQL の識別子引用符スタイルに対応し、引用符を自動で除去して元の列名とテーブル名を復元します。SQL 再構築モードでは MySQL、PostgreSQL、SQLite または標準 SQL 方言を選んで INSERT を再生成できます。方言ごとに引用符やブール値の表現が異なります。

複数テーブルを含む SQL スクリプトはどう処理されますか?

ツールはテーブル名ごとに INSERT データを自動集約します。設定で「複数テーブル個別出力」を有効にすると、CSV/HTML/Markdown などのテーブル形式はテーブルごとに分割出力(テーブル名マーク付き)され、JSON/XML などの構造化形式はテーブル名でグループ化されます。無効にすると、CSV は最初のテーブルのデータのみを出力し、JSON は「ルートキーなし」で純配列として出力できます。

SQL 内の NULL、ブール値、特殊文字はどう扱われますか?

ツールは NULL(大文字小文字区別なし)、TRUE/FALSE ブール値、16 進数リテラル(0x...、X'...'、B'...')、整数および浮動小数点数を自動認識します。文字列は SQL 標準エスケープ('' → ')と MySQL バックスラッシュエスケープ(\n、\t、\' など)を処理し、改行、引用符、特殊文字を含む元の内容を正しく復元します。CSV 出力時は RFC 4180 標準に従い、カンマ、引用符、改行を含むフィールドを引用符でエスケープします。

変換後の JSON 構造はどのようになりますか?

JSON 出力は 3 種類の構造に対応しています:「tables ルートキー」(テーブル名でグループ化、複数テーブル场景に推奨)、「data ルートキー」(統一ラッパー)、「ルートキーなし」(純配列、単一テーブルやストリーム処理に適す)。例えば単一テーブル users は [{"id":1,"name":"Alice"},...] 配列に、複数テーブルはテーブル名で {"users":[...],"orders":[...]} とグループ化されます。設定で選択できます。

アップロードした SQL ファイルはサーバーに保存されますか?

いいえ。本ツールは純フロントエンドアプリで、すべての解析と変換はブラウザのローカル JavaScript で完結します。SQL 内容や変換結果をサーバーに送信することはありません。アップロードされたファイルは FileReader でブラウザ内に直接読み込まれ、ページを閉じるとデータは自動的にクリアされます。ユーザープライバシーや商業的に機密性の高いデータベースエクスポートの処理に適しています。

SQL Server の角括弧識別子に対応していますか?

対応しています。ツールは SQL Server/T-SQL スタイルの角括弧識別子([users]、[order details] など)を認識し、角括弧を除去して元の名前を復元します。MySQL バッククォート、PostgreSQL ダブルクォートにも対応します。SQL 再構築モードで異なる方言を選ぶと、対応する引用符スタイルで INSERT が再生成されます。

SQL スクリプトを変換してもデータが出力されないのはなぜですか?

SQL に INSERT INTO ... VALUES (...) 文が含まれているか確認してください。本ツールは INSERT 文のみを解析してデータを抽出し、SELECT クエリ文は出力を生成しません。CREATE TABLE 文のみの場合、「CREATE TABLE のみ検出されました。変換可能なデータ行がありません」という警告が表示されます。SQL スクリプトがクエリ文ではなくデータエクスポート(dump)であることを確認してください。

ストアドプロシージャ、関数、トリガーに対応していますか?

対応していません。本ツールはデータ抽出に特化し、INSERT 文と CREATE TABLE 文のみを解析します。ストアドプロシージャ(CREATE PROCEDURE)、関数(CREATE FUNCTION)、トリガー(CREATE TRIGGER)、ビュー(CREATE VIEW)などのデータベースオブジェクト定義は解析されません。これらのオブジェクトを移行するには、pg_dump や mysqldump などのデータベースネイティブツールの使用を推奨します。

変換した CSV ファイルを Excel で開くと日本語が正しく表示されますか?

はい。設定で「BOM を含める」を有効にすると、CSV ファイルに UTF-8 BOM ヘッダー(\uFEFF)が付与され、Excel はエンコーディングを正しく認識して日本語などの非 ASCII 文字を表示します。BOM がない場合、一部の Excel バージョンでは UTF-8 の日本語が文字化けすることがあります。Google Sheets、WPS などのモダンな表計算ソフトは通常 BOM なしでも正しく認識します。

SQL スクリプトから逆方向に INSERT 文を再構築できますか?

できます。「SQL 再構築」出力形式を選ぶと INSERT 文を再生成できます。対象方言(MySQL/PostgreSQL/SQLite/標準 SQL)の選択、テーブル名のカスタマイズ、CREATE TABLE 文のオプション生成(データから列型 INT/BIGINT/FLOAT/VARCHAR/TEXT/BOOLEAN を自動推論)に対応します。MySQL スクリプトを PostgreSQL 方言に再構築したり、テーブル名を変更してからデータベースに再インポートする場合に便利です。

JSON Lines と JSON の違いは何ですか?いつ JSON Lines を使うべきですか?

JSON 出力は完全な JSON 配列([{...},{...}])で、プログラムが一度にメモリへ読み込むのに適しています。JSON Lines(NDJSON とも呼ばれる)は 1 行に 1 つの独立した JSON オブジェクトを配置する形式で、ストリーム処理、ビッグデータインポート、Elasticsearch bulk API、ログ分析など、行単位で読み込み大量のメモリを消費しないシナリオに適しています。本ツールは両方の形式を自由に切り替えられます。

変換結果で元の列の順序は保持されますか?

保持されます。ツールは INSERT 文で指定された列順序どおりに列名を保持します。INSERT で列名が明示されていない場合(INSERT INTO t VALUES (...) など)、最初の行の値の数に基づいて col_1、col_2 などのプレースホルダー列名を生成します。複数テーブルはそれぞれの列順序を独立して保持し、統合出力時はテーブルごとに表示されます。

どのくらいのサイズの SQL ファイルまで処理できますか?

理論上のハードリミットはなく、ブラウザのメモリに依存します。数十 MB の SQL dump ファイルは通常スムーズに処理できますが、数百 MB の超大容量ファイルはブラウザメモリ不足で遅くなる可能性があります。超大容量ファイルを処理する場合は、複数の小さなファイルに分割してバッチ変換するか、「整形出力」をオフにしてメモリ使用量を減らすことを推奨します。すべての解析はブラウザローカルで完結し、ネットワーク転送の制限を受けません。

トラブルシューティング

変換後に出力データがない?

原因 1:SQL スクリプトに SELECT クエリ文しか含まれていない。本ツールは INSERT 文のみを解析してデータを抽出し、クエリは実行しません。解決:mysqldump/pg_dump でデータを INSERT 文としてエクスポートしてください。原因 2:SQL スクリプトに CREATE TABLE しかなくデータ行がない場合、警告が表示されます。原因 3:INSERT 文の構文が非標準(VALUES キーワードの欠落など)。SQL 構文の正確性を確認してください。原因 4:SQL の内容がすべてコメントアウト(-- や /* */)されている。コメントマーカーが誤って追加されていないか確認してください。

CSV を Excel で開くと日本語が文字化けする?

Excel はデフォルトで CSV を GBK エンコーディングとして認識するため、UTF-8 エンコーディングの日本語は文字化けします。解決:「設定」で「BOM を含める」を有効にすると、出力される CSV ファイルに UTF-8 BOM ヘッダー(\uFEFF)が付与され、Excel が UTF-8 エンコーディングを正しく認識します。すでに BOM なしの CSV をエクスポートした場合は、メモ帳で「BOM 付き UTF-8」として別名保存してから Excel で開くか、Google Sheets、WPS などのモダンな表計算ソフトで直接開いてください。

JSON で数値が文字列になる?

原因:SQL 内の数値が引用符で囲まれている(123 ではなく '123')。ツールは文字列として解析します。解決:SQL スクリプト内の数値が引用符で囲まれていないか確認し、引用符を削除してください。元データがそのような形式(ZIP 郵便番号はよく文字列として保存される)の場合、これは想定された動作です。文字列セマンティクスを保持することで先頭のゼロが失われるのを防げます(01234 が 1234 に解析されない)。

特殊文字を含む文字列の変換に失敗する?

原因:SQL 文字列内の特殊文字(改行、引用符、バックスラッシュ)が正しくエスケープされていない。本ツールは SQL 標準エスケープ('' → ')と MySQL バックスラッシュエスケープ(\n、\' など)をサポートしますが、元の SQL が非標準エスケープ(PostgreSQL の E'...' 文字列など)を使用している場合は正しく復元できないことがあります。解決:SQL エスケープが標準的か確認し、必要に応じてテキストエディタで手動調整してから変換してください。

複数テーブル SQL を変換すると最初のテーブルしか見えない?

原因:「複数テーブル個別出力」オプションが無効で、CSV/HTML/Markdown などのテーブル形式はデフォルトで最初のテーブルのみを出力します。解決:「設定」で「複数テーブル個別出力」を有効にすると、CSV はテーブルごとに分割出力(# Table: テーブル名 マーク付き)され、JSON はテーブル名でグループ化({テーブル1:[...],テーブル2:[...]})されます。JSON Lines 形式はテーブルを区別せず、すべての行が統合されて出力される点に注意してください。

SQL 再構築後、テーブル名や列名の引用符が正しくない?

原因:再構築時に誤った方言を選択している。方言ごとに引用符スタイルが異なります(MySQL バッククォート、PostgreSQL ダブルクォート、SQL Server 角括弧)。解決:「設定」で対象 SQL 方言を選択すると、ツールは対応する引用符スタイルで INSERT を再生成します。例えば PostgreSQL を選ぶとテーブル名は "users" に、MySQL を選ぶと `users` になります。

用語集

SQL (Structured Query Language)
構造化クエリ言語。リレーショナルデータベース(MySQL、PostgreSQL、Oracle、SQL Server、SQLite)の標準クエリおよび操作言語で、DDL(データ定義)、DML(データ操作)、DQL(データクエリ)、DCL(データ制御)などのサブ言語を含みます。
INSERT 文
SQL でテーブルにデータを挿入する文。構文は INSERT INTO table (cols) VALUES (vals)。単一行および多値タプルの一括挿入に対応します。本ツールは主に INSERT 文を解析してデータを抽出します。
CREATE TABLE 文
SQL でテーブルを作成する DDL 文。列名、データ型、制約(NOT NULL、PRIMARY KEY、UNIQUE など)を定義します。本ツールは CREATE TABLE を解析して列定義情報を抽出できます。
VALUES タプル
INSERT 文で VALUES キーワードの後の括弧内の値リスト。例:(1, 'Alice', TRUE)。1 つの INSERT に複数タプルを含めて一括挿入が可能:VALUES (1,'A'), (2,'B'), (3,'C')。
SQL 方言
データベースベンダーごとの SQL 標準の拡張実装の差異。MySQL はバッククォート、PostgreSQL はダブルクォート、SQL Server は角括弧で識別子を囲むほか、ブール値表現(TRUE/1)、自動採番列(AUTO_INCREMENT/SERIAL)などにも違いがあります。
識別子引用符
SQL でテーブル名、列名などの識別子を囲む特殊文字。MySQL はバッククォート `name`、PostgreSQL と標準 SQL はダブルクォート "name"、SQL Server は角括弧 [name] を使用し、予約語のエスケープや大文字小文字区別の场景で使われます。
SQL エスケープ
SQL 文字列内で特殊文字を表すメカニズム。SQL 標準は単一引用符をダブルクォート('')で表し、MySQL はバックスラッシュエスケープ(\n、\t、\'、\\)もサポートします。本ツールは両方のエスケープメカニズムを復元します。
NULL 値
SQL で欠損または未知のデータを表す特殊値。大文字小文字を区別しません(NULL/null/Null)。NULL は空文字列や 0 と等価ではなく、JSON では null に、CSV では通常空として扱われます。
16 進数リテラル
SQL でバイナリデータを表すリテラル構文。MySQL は 0x... および X'...' 形式をサポートし、PostgreSQL は X'...' と B'...'(バイナリ)をサポートします。本ツールは 16 進数リテラルをそのまま保持します。
JSON Lines (NDJSON)
1 行に 1 つの独立した JSON オブジェクトを配置するテキスト形式。拡張子は .jsonl。ストリーム処理、ビッグデータインポート、Elasticsearch bulk API に適しており、完全な JSON 配列よりメモリを節約できます。
RFC 4180
CSV 形式の国際標準(Common Format and MIME Type for Comma-Separated Values Files)。フィールド区切り、引用符エスケープ、改行処理などのルールを規定します。本ツールの CSV 出力はこの標準に準拠しています。
BOM (Byte Order Mark)
バイトオーダーマーク、U+FEFF 文字。UTF-8 ファイル先頭の BOM は Excel などのソフトがエンコーディングを正しく認識し、日本語の文字化けを防ぐのに役立ちます。本ツールの CSV 出力は BOM をオプションで含められます。
SQL Dump
データベースからエクスポートされた SQL スクリプトファイル。通常 mysqldump、pg_dump などのツールで生成され、CREATE TABLE と INSERT 文を含み、データベースのバックアップや移行に使用されます。
DDL (Data Definition Language)
データ定義言語。SQL のサブセットで、CREATE、ALTER、DROP などの文を含み、データベース構造(テーブル、ビュー、インデックスなど)の定義と変更に使用されます。

サポートする出力形式の比較

9 種類の出力形式の特徴と適用场景の比較:

形式拡張子特徴最適な场景
JSON.json構造化配列、型保持API 連携、プログラム読み込み、フロントエンドデータ
JSON Lines.jsonl1 行に 1 つの JSON オブジェクトストリーム処理、Elasticsearch、ビッグデータ
CSV.csvカンマ区切りテーブル、RFC 4180Excel、データ分析、レポート
TSV.tsvTab 区切りテーブル表計算ソフトへ貼り付け、バイオインフォマティクス
XML.xmlタグと属性付きの構造化ドキュメントSOAP インターフェース、設定ファイル、Java システム
YAML.yaml最も読みやすい設定形式Ansible、K8s、CI/CD 設定
HTML.htmlスタイル付きテーブル、ブラウザで直接閲覧可Web 表示、メール、レポート
Markdown.mdMarkdown テーブル構文README、ドキュメントサイト、技術ブログ
SQL 再構築.sqlINSERT 再生成、方言切替可クロスデータベース移行、テーブル名変更

SQL 値の型認識ルール

SQL 値を解析する際の型認識ルール(リテラル形式で判定):

SQL リテラル認識型JSON 出力CSV 出力
123整数123123
-45負の整数-45-45
3.14浮動小数点数3.143.14
1e10科学記法1000000000010000000000
'hello'文字列"hello"hello
NULL空値null(空)
TRUEブール真trueTRUE
FALSEブール偽falseFALSE
0xFF16 進数"0xFF"0xFF
X'4142'16 進数"X'4142'"X'4142'

データベース方言ごとの識別子引用符スタイル

主要データベースの識別子(テーブル名、列名)引用符の違い:

データベース引用符スタイル説明
MySQL/MariaDBバッククォート ``users`デフォルト有効、予約語をエスケープ
PostgreSQLダブルクォート ""users"大文字小文字区別、標準 SQL スタイル
SQLiteダブルクォート " / バッククォート ` / 角括弧 []"users" / [users]複数スタイルに互換
SQL Server角括弧 [][users]T-SQL デフォルトスタイル
Oracleダブルクォート ""users"大文字強制、引用符で大小保持
標準 SQLダブルクォート ""users"ANSI SQL 標準

Privacy & Security

本 SQL 変換ツールのすべての操作は完全にブラウザ内でローカル完結します:SQL 解析、データ抽出、形式変換はすべてブラウザの JavaScript でクライアント側で実行され、SQL 内容、アップロードファイル、変換結果はネットワーク経由でいかなるサーバーにも送信されません。ファイルアップロードはブラウザネイティブの FileReader API で直接メモリに読み込まれ、中間サービスを経由しません。Cookie でトラッキングせず、ユーザー入力や利用データを一切収集しません。ページを閉じるかリロードすると、すべての入力・出力内容はメモリから自動的にクリアされます(履歴はブラウザの localStorage にローカル保存されるのみ)。ユーザープライバシーや商業的に機密性の高いデータベースエクスポートスクリプトの処理に適しています。

Authoritative References