JSON ↔ SQL コンバーター
ブラウザー内でローカル実行JSON を CREATE TABLE と INSERT 文に、SQL の INSERT データを JSON に変換
その他のオプション
1~1000 行。SQL Server は 1 つの VALUES リストで最大 1000 行まで受け付けます。
オフにすると、予約語と特殊文字を含む名前だけが引用符で囲まれます。
JSON 入力
JSON ↔ SQL でできること
JSON ↔ SQL は、JSON レコードを PostgreSQL、MySQL、SQLite、SQL Server 向けの CREATE TABLE とバッチ化された INSERT ステートメントに変換し、SQL の INSERT データを JSON に戻します。列はすべてのレコードのキーの和集合なので、1 つのオブジェクトにしかないキーにも列が作られ、欠けているキーは NULL として出力されます。JSON に複数の配列がある場合は、データセット選択に各 JSONPath と行数が表示され、変換する配列を選べます。
使い方
- 1.JSON → SQL か SQL → JSON を選び、SQL 方言を選択します。
- 2.データを貼り付けるか、.json または .sql ファイルをアップロード・ドロップするか、例を読み込みます。
- 3.JSON → SQL ではテーブル名と生成するステートメントを設定します。「その他のオプション」には INSERT あたりの行数と識別子の引用符設定があります。
- 4.出力、注意点、その下の確認ガイドを確認します。
- 5.結果をコピーするか data.sql / data.json をダウンロードするか、逆方向で開いて往復変換を確認します。
型の対応とエスケープ
型は値から控えめに推定されます。整数は INTEGER、値が大きければ BIGINT や正確な NUMERIC/DECIMAL になります。小数は PostgreSQL で NUMERIC、MySQL で DOUBLE、SQLite で REAL、SQL Server で FLOAT になります。ISO 8601 の日付とタイムスタンプは日付型とタイムスタンプ型になり、数値に見えるだけの文字列はテキストのままです。入れ子のオブジェクトと配列は PostgreSQL では JSONB、MySQL では JSON を使い、SQLite と SQL Server ではシリアライズした JSON テキストとして保存します。アポストロフィはすべての方言で二重化され、MySQL ではバックスラッシュもエスケープし、SQL Server の文字列は N'…' の Unicode リテラルを使い、ブール値は各方言に合わせて TRUE/FALSE または 1/0 で出力します。大きな整数や桁の多い小数は正確な桁のまま保持されます。
SQL → JSON の対象範囲、制限、プライバシー
SQL → JSON は node-sql-parser で INSERT … VALUES ステートメントを読み取ります。1 行・複数行の INSERT、複数のステートメント、複数のテーブルに対応し、複数テーブルはテーブル名をキーとするオブジェクトとして返します。同じ入力内の CREATE TABLE があれば列名に使われ、JSON 列は入れ子の JSON に、BOOLEAN や BIT の列は true と false に変換されます。SELECT、UPDATE、NOW() などの関数、式、DEFAULT は推測せずにメッセージ付きで拒否します。SQL は解析されるだけで実行されず、データがサーバーに送信されることもありません。選択した方言のパーサーは初回の変換時に一度だけダウンロードされます。生成された SQL は確認、マイグレーション、開発のためのものです。本番データで実行する前に確認し、アプリケーションではパラメーター化クエリを使用してください。
