devtools-hub

JSON to SQL

JSON配列からCREATE TABLE + INSERT文を自動生成 — MySQL/PostgreSQL/SQLite対応

開発者向けJSONデータベース

JSONオブジェクトの配列を入力するだけで、型推論付きのCREATE TABLE文とINSERT INTO文を自動生成。TEXT/INTEGER/REAL/BOOLEAN/NULLを自動判定し、MySQL・PostgreSQL・SQLiteの3方言に対応。テーブル名・スキーマ名も指定できます。

広告

JSON → SQL Generator

JSON Input(配列)
SQL Output

JSON配列を入力するとSQLが生成されます

Features

  • JSON配列からCREATE TABLE文を自動生成(型推論付き)
  • TEXT / INTEGER / REAL / BOOLEAN の4型を自動判定
  • NULL値を含むカラムは自動的に NULL 許容に設定
  • 全行のINSERT INTO文を一括生成
  • MySQL / PostgreSQL / SQLite の3方言を切り替え
  • テーブル名・スキーマ名をカスタマイズ可能
  • SQLをワンクリックでコピー


JSONからSQLを生成する — 型推論とINSERT文の自動化

APIレスポンスやCSVから変換したJSONデータをデータベースに投入したい場面は多くあります。手動でCREATE TABLEとINSERT文を書くのは手間がかかりますが、このツールを使えばJSONを貼るだけで自動生成できます。

型推論の仕組み

各カラムの値を全行スキャンしてSQL型を決定します。すべての値が整数なら INTEGER、浮動小数点数があれば REAL、文字列があれば TEXT、true/falseのみなら BOOLEAN として推論します。型が混在する場合は最も広い型(TEXT)が選ばれます。null値を含む行があるカラムはNULL許容(NOT NULL なし)になります。

方言ごとの違い

PostgreSQLとSQLiteはダブルクォートでカラム名・テーブル名を囲みますが、MySQLはバッククォートを使います。BOOLEAN型はPostgreSQL/SQLiteではTRUE/FALSEリテラルを使いますが、MySQLはTINYINT(1)で0/1で格納します。浮動小数点数はMySQLではDOUBLEが一般的なので自動的に変換されます。

スキーマ名の活用

PostgreSQLでは`public.users`のようにスキーマ名を指定してテーブルを整理します。スキーマ名フィールドを入力すると`"schema"."table"`形式でCREATE TABLEとINSERT文が生成されます。MySQLの場合はデータベース名を指定することで`database`.`table`形式になります。

大量データの投入

生成されたINSERT文は全行を1つのINSERT INTO ... VALUES(...),(...),(...)形式(マルチロウINSERT)ではなく、行ごとに分けています。これにより1行ずつ実行して部分的にデバッグしやすくなります。大量データの本番投入にはPSQLのCOPYやMySQLのLOAD DATA INFILEがより高速です。

広告

Related Tools

base64-studio

Base64 エンコード & デコード

開発者向けテキストエンコード

使ってみる →

BOOTH

JSON Studio

JSON フォーマッター & バリデーター

JSON開発者向けフォーマッター

使ってみる →

BOOTH

color-deck

カラーコード変換 & パレット保存

カラーデザイン開発者向け

使ってみる →

BOOTH

text-deck

スニペットランチャー

テキスト効率化開発者向け

使ってみる →

BOOTH

このツールを共有する