JSON を SQL に変換
JSON 配列を SQL の INSERT 文へ変換し、必要なら CREATE TABLE も同時生成できる無料オンラインツールです。
関連おすすめ
JSON から SQL への変換について
JSON から SQL への変換は、JSON 配列やオブジェクトを関係データベースで実行できる INSERT 文や CREATE TABLE 文へ変える作業です。
このツールはオブジェクトの key を列名に、value を SQL リテラルに変換し、必要に応じて DDL も組み立てます。
型推論、方言ごとの構文差分、バッチ INSERT をすべてブラウザ側で処理するため、手作業より速く安全です。
ユースケース
- API 応答 JSON を RDB に入れるための INSERT 文へ変換したいとき。
- モックデータから開発環境用の SQL シードを作りたいとき。
- JSON サンプルから CREATE TABLE を起こして新規 DB を初期化したいとき。
- MongoDB やログ輸出 JSON を関係データベース向けに移し替えたいとき。
- 学習やデモで JSON から SQL への型変換を見せたいとき。
使い方
- 左側に JSON 配列またはオブジェクトを貼り付けるか、.json/.txt ファイルを読み込みます。
- ツールバーから対象 SQL 方言を選択します。
- 設定で表名、CREATE TABLE の有無、バッチサイズを調整します。
- 変換を実行すると、右側に SQL と行数・列数が表示されます。
- コピーまたは .sql ダウンロードして DB クライアントで実行します。
特徴
- JSON 配列から INSERT INTO 文を一括生成し、1〜1000 行のバッチ挿入に対応します。
- CREATE TABLE DDL を任意で同時生成し、列型を自動推論します。
- MySQL、PostgreSQL、SQLite、SQL Server など 20 以上の SQL 方言をサポートします。
- NULL、真偽値、整数、浮動小数、ISO 日付、短文・長文を判別する型推論を搭載しています。
- sql-formatter により、生成 SQL を読みやすく整形します。
- 変換はすべてブラウザ内で完結し、アップロード不要です。
よくある質問
JSON 配列を SQL INSERT に変換するには?
JSON 配列を貼り付けると、各オブジェクトの key を列名、value を値として INSERT 文を自動生成します。
CREATE TABLE を自動生成できますか?
はい。設定で CREATE TABLE を有効にすると、JSON の値を見て型推論し、DDL を自動生成します。
どのデータベース方言に対応していますか?
MySQL、PostgreSQL、SQLite、SQL Server を含む 20 以上の方言に対応し、引用符や型名を自動調整します。
型推論はどう動きますか?
整数、浮動小数、真偽値、NULL、ISO 8601 日付、短い文字列と長文を判別して SQL 型へ割り当てます。
大量データの一括 INSERT はできますか?
できます。1〜1000 行ごとのバッチサイズを指定でき、複数行を 1 つの INSERT にまとめられます。
JSON が壊れている場合は?
よくある末尾カンマや引用符不足は自動修復を試みます。難しい場合は JSON フォーマッタで先に整えてください。
データはサーバーへ送られますか?
送られません。JSON の解析、型推論、SQL 生成はすべてブラウザ内の JavaScript で行われます。
日付文字列は自動検出されますか?
ISO 8601 形式の日付・日時文字列は DATE または TIMESTAMP として自動認識されます。
トラブルシューティング
「No valid objects found in JSON」と表示される
トップレベルが配列でもオブジェクトでもないか、配列要素が数値や文字列だけで列名を作れない状態です。
生成 SQL を DB で実行すると構文エラーになる
方言選択が違うか、予約語の表名・列名、または大きすぎるバッチサイズが原因のことがあります。
日付が DATE/TIMESTAMP ではなく VARCHAR になった
入力文字列が ISO 8601 形式ではないと、通常の文字列として扱われます。
同じ列で数値と文字列が混ざっている
型が衝突すると、より広い型(たとえば VARCHAR)へ自動昇格します。
用語集
- JSON
- API や設定ファイルで広く使われる軽量データ交換形式です。
- SQL
- 関係データベースを操作するための標準的な言語です。
- INSERT 文
- テーブルへ行データを追加する DML 文です。
- CREATE TABLE 文
- 表名、列名、型を定義してテーブルを作る DDL 文です。
- SQL 方言
- データベース製品ごとの SQL 構文や型の差分です。
- 型推論
- JSON の値を見て SQL の型を自動判定する処理です。
- バッチ挿入
- 複数行を 1 つの INSERT にまとめて性能を上げる方法です。
対応 SQL 方言と主な差分
主要方言ごとの識別子引用符、整数型、真偽値表現の違いです。
| 方言 | 識別子引用符 | 整数型 | 真偽値 | IF NOT EXISTS |
|---|---|---|---|---|
| MySQL | 反引号 ` | INT | TRUE | はい |
| PostgreSQL | 二重引用符 " | INTEGER | TRUE | はい |
| SQLite | 二重引用符 " | INTEGER | 1/0 | はい |
| SQL Server | 角括弧 [] | INT | 1/0 | いいえ |
| BigQuery | 反引号 ` | INT64 | TRUE | はい |
| Snowflake | 二重引用符 " | NUMBER | TRUE | はい |
JSON 値から SQL 型への推論ルール
detectType が使う代表的な推論ルールです。
| JSON 値 | 例 | 推論 SQL 型 | 判定ルール |
|---|---|---|---|
null | null | NULL | JSON null は SQL NULL に対応します。 |
boolean | true / false | BOOLEAN | BOOLEAN または 1/0 にマッピングします。 |
integer | 1, 100, -9999 | INT / BIGINT | 値の範囲に応じて INT / BIGINT を選びます。 |
float | 3.14, -0.5 | FLOAT / DOUBLE / REAL | 方言に応じた浮動小数型を使います。 |
ISO 8601 datetime | 2024-05-20T10:30:00 | TIMESTAMP | ISO 8601 の日時は TIMESTAMP と判定します。 |
short / long string | Alice / 500 chars | VARCHAR / TEXT | 255 文字以下は VARCHAR、超えると TEXT を使います。 |
Privacy & Security
この JSON から SQL への変換は完全にブラウザ内で動作します。JSON の解析、型推論、SQL 生成、整形はすべてクライアントサイドで行われ、入力データがサーバーへ送信されることはありません。
Authoritative References
- JSON 圧縮
- CSV to JSON
- JSON から CSV
- JSON Diff
- JSON Escape / Unescape
- JSONフラット化
- JSON フォーマッター
- JSON 生成
- JSONPath オンラインクエリ
- JSON マージ
- JSON 修復
- JSON Schema バリデーター
- JSONソート
- JSON Stringify
- JSONをHTMLに変換
- JSONからJavaへ
- JSON から Markdown
- JSON を SQL に変換
- JSON から TOML へ変換
- JSONをTypeScriptに変換
- XML を JSON に変換
- JSONをXMLへ変換
- YAML を JSON に変換
- JSON → YAML 変換
- JSON から Go へ
- JSON から Rust
- JSON から Swift
- JSON から C#
- JSON から C++
- JSON を PHP に
- JSON から Python