JSON → SQL INSERT 生成器
粘贴 JSON 数组(或单个对象),输出可直接运行的 SQL insert。列为所有键的并集;缺列的行填 NULL。字符串用单引号转义,数字和布尔变字面量,嵌套对象/数组序列化为 JSON。可选 `ON CONFLICT`(Postgres/SQLite)或 `ON DUPLICATE KEY UPDATE`(MySQL)以便把输出直接丢进同步任务。
—
SQL(3)
INSERT INTO "users" ("id", "name", "email", "verified", "joined")
VALUES
(1, 'Alice', 'alice@example.com', TRUE, '2024-01-15'),
(2, 'Bob', 'bob@example.com', FALSE, '2024-03-22'),
(3, 'Carol', NULL, TRUE, '2024-06-01');字符串通过双写单引号转义 — 四种方言都安全。
使用方法
- 粘贴 JSON 对象数组(或单个对象)。
- 设置表名和 SQL 方言。
- 开启多行 VALUES 得到单条语句,关闭则每行一条 INSERT。需要 ON CONFLICT / ON DUPLICATE KEY UPDATE 时开启 upsert。
常见问题
- 嵌套对象如何处理?
- 序列化为 JSON 并作为带引号字符串插入。PostgreSQL 与 MySQL 的 `JSON`/`JSONB` 列直接接受;SQLite 则作为 TEXT。
- 多行 VS 每行一条 INSERT 的区别?
- 多行生成单条 `INSERT INTO ... VALUES (…), (…), (…);`,在批量装载时快得多。每行生成 N 条语句 — 想单独注释某行或预期部分失败时更方便。
- 这样的转义足以让生成的 SQL 可以放心执行吗?
- 它只是把单引号转义掉,使语句在语法上成立,这和「面对恶意输入是安全的」不是一回事。生成出来的 SQL 只是文本:执行之前先读一遍;如果数据来自你控制不了的地方,请改用参数化语句,或者 COPY、LOAD DATA 这类批量导入方式,而不是把生成的脚本粘进控制台。
- 为什么我的数字被加了引号,或者 ID 少了几位?
- 类型跟随的是 JSON,而不是你的表。JSON 里写成 "42" 的值,即使列是整数也会输出带引号的字面量:请在 SQL 里做类型转换,或者修正 JSON。大的标识符则是相反的陷阱:如果它们是以 JSON 数字的形式送来的,很可能在到达本工具之前就已经丢掉了末尾几位——这正是 ID 应当以字符串传递的原因。
相关工具
Mock 数据生成器
生成真实感的测试假数据——姓名、邮箱、日期、ID、Lorem 等——导出为 JSON / CSV / SQL INSERT。
开发 0 0
CSV → SQL INSERT 生成器
把 CSV / TSV 行转为 SQL INSERT——表名、方言引号、类型推断、多行模式。
转换 0 0
字符串转义转换器
为 10 种上下文一次性转义字符串 — JavaScript、JSON、HTML 实体、URL、SQL、正则、Bash(单/双引号)、C 字符串、Unicode \u 转义。按需复制。
开发 0 0
JSON ↔ YAML 转换器
JSON 与 YAML 互转——选择缩进,复制结果。
转换 0 0
CSV → HTML / Markdown / JSON 表
把 CSV 转成 HTML `<table>`、Markdown 表或 JSON 对象数组——自动识别分隔符。
转换 0 0
INI ↔ JSON 转换器
在 INI 风格配置文件与 JSON 之间往返 — 支持节、点号嵌套、注释及值类型推断。
转换 0 0