JSON から SQL への変換
JSON を SQL の INSERT 文と任意の CREATE TABLE に変換します。MySQL、PostgreSQL、SQLite、SQL Server に対応し、引用符とエスケープも適切に処理。無料です。
すべてブラウザ内で実行されます。データがアップロードされることはありません。
関連ツール
すべて表示JSON から SQLとは?
オブジェクトの JSON 配列を SQL に変換します。推論した列の型を持つ任意の CREATE TABLE と、それに続く INSERT 文が出力されます。識別子と文字列は、選んだ方言に合わせて引用符で囲まれ、エスケープされます。
JSON から SQLの使い方
- JSON 入力 に JSON を貼り付けるか、サンプルを読み込む や ファイルを開く を使います。
- SQL 方言 を選び、テーブル名 を入力します。
- CREATE TABLE を含める と 複数行 INSERT を切り替えます。
- SQL の出力は入力に合わせて更新されます。コピー または ダウンロード を使います。
例
[{"id":1,"name":"O'Brien"}] CREATE TABLE `my_table` ( `id` INT, `name` VARCHAR(255) ); INSERT INTO `my_table` (`id`, `name`) VALUES (1, 'O''Brien');
JSON から SQLを使うべき場面
JSON のエクスポート、テスト用データ、API のデータからデータベースにシードデータを投入するときに使います。生成された列の型を確認し、主キー、NOT NULL、インデックスは自分で追加してください。これらはサンプルデータから推論できません。
JSON から SQLの仕組み
列はすべてのオブジェクトのキーの和集合です。各列の型は null 以外の値から推論されます。整数は INT/INTEGER(32 ビットを超えると BIGINT)、小数は DOUBLE / DOUBLE PRECISION / REAL / FLOAT、真偽値は BOOLEAN(SQL Server では BIT、SQLite では INTEGER)、文字列は長さに応じて VARCHAR(255) または TEXT/NVARCHAR(MAX)、入れ子のオブジェクトや配列は JSON/JSONB またはテキストになります。識別子にはバッククォート(MySQL)、二重引用符(PostgreSQL、SQLite)、角括弧(SQL Server)を使います。文字列は単一引用符を二重にし、MySQL ではバックスラッシュもエスケープし、SQL Server では非 ASCII のテキストに N'…' を使います。複数行 INSERT は、SQL Server では 1000 行ごとに分割されます。
一般的な使用例
- JSON のテスト用データから開発用データベースにシードを投入する
- API のデータを PostgreSQL にインポートする
- 分析用に JSON から SQLite のテーブルをすばやく作る
- マイグレーションスクリプト用の INSERT 文を生成する
よくある質問
この SQL はインジェクションに対して安全ですか?
すべての文字列値は選んだ方言に合わせてエスケープされますが、本番データで実行する前に必ず生成された SQL を確認してください。
入れ子のオブジェクトはどのように保存されますか?
JSON(MySQL)、JSONB(PostgreSQL)、またはテキスト列に JSON テキストとして保存されます。
SQL Server の出力が複数の INSERT 文になるのはなぜですか?
SQL Server は 1 つの VALUES リストに最大 1000 行までしか入れられないため、大きな入力は分割されます。