JSON から SQL への変換

JSON を SQL の INSERT 文と任意の CREATE TABLE に変換します。MySQL、PostgreSQL、SQLite、SQL Server に対応し、引用符とエスケープも適切に処理。無料です。

すべてブラウザ内で実行されます。データがアップロードされることはありません。

関連ツール

すべて表示

JSON から SQLとは?

オブジェクトの JSON 配列を SQL に変換します。推論した列の型を持つ任意の CREATE TABLE と、それに続く INSERT 文が出力されます。識別子と文字列は、選んだ方言に合わせて引用符で囲まれ、エスケープされます。

JSON から SQLの使い方

  1. JSON 入力 に JSON を貼り付けるか、サンプルを読み込む や ファイルを開く を使います。
  2. SQL 方言 を選び、テーブル名 を入力します。
  3. CREATE TABLE を含める と 複数行 INSERT を切り替えます。
  4. 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 行までしか入れられないため、大きな入力は分割されます。

おすすめの次のステップ

他のカテゴリを見る