数据库与 SQL

SQL 转 JSON

提取字面量,核对表格,导出当前选中的表。

SQL 转 JSON

SQL INSERT 输入

导出文本

在浏览器本地解析,不执行 SQL,也不发送到数据库。

选项

仅安全整数输出为 JSON 数值;其他数值字面量保留为字符串,CSV 保留数值原文。

仅支持显式列名与字面量 VALUES,名称精确匹配。MySQL 解释反斜杠转义,PostgreSQL/SQLite 保留反斜杠。

上限:200000 个 UTF-16 码元、500 条语句、100 张表、每表 100 列、总计 5000 行和 100000 个单元格。 导出文本最多 2000000 个 UTF-16 码元,避免重复列名令结果无限膨胀。

输入 INSERT 语句或加载示例。

SQL 转 JSON 适合把数据库导出的种子脚本整理成接口测试数据。请保留 INSERT 中的列名列表:它决定对象的键,也让同一张表的后续语句能够按字段对应,而不是按位置盲目拼接。

为什么使用 SQL 转 JSON

多张表各自保留边界

SQL 转 JSON 按表标识分组,订单表不会误用用户表的列名。选择一张表后,预览和导出只包含该表的行。带 schema 的表名与名称本身含点的引号标识符也会分别处理。

两组不同颜色的源数据分别进入两张表,其中一张被选中导出。

不能确定的值直接指出

大整数的末位不能在转换后悄悄变化。安全整数输出为数值,更大的整数、小数和指数按字符串保留;遇到函数或表达式就指出位置,不把残缺的语法当成普通文本导出。

字面量完整进入表格,表达式在警告标记前停止。

导出前值得核对的三件事

01

先确认反斜杠规则

PostgreSQL 和 SQLite 模式保留普通字符串中的反斜杠;MySQL 模式解释约定的转义序列。这里不会检测服务器的 SQL mode,含反斜杠的路径或文本尤其需要选对模式。

02

看清当前选中的表

状态行先统计整个输入的语句和表,再显示当前表的行列数。表格每次显示 50 行,继续展开只影响预览。复制与下载始终包含选中表的全部行,不会把其他表拼进来。

03

修改后等待结果刷新

自动解析会在最后一次编辑后等待 350 毫秒;关闭后可以点击解析,或按 Ctrl/Cmd + Enter。改输入或选项会立即禁用旧结果导出,错误修复并成功解析后才重新开放。

从 INSERT 中提取明确的数据

按列名还原对应关系

SQL INSERT 转 JSON 使用显式列名作为对象键。同表的后续语句可以调整列的顺序,值仍映射到第一条语句确定的列顺序。重复列名或列集合变化会报错,不覆盖旧字段,也不凭空补 NULL。

字符串内的标点保持原义

INSERT 语句解析会跟踪引号状态。字符串里的逗号、括号、分号、换行以及双写的单引号不会成为错误的分隔点。普通注释作为空白处理,未闭合的注释会定位错误,不会悄悄丢弃后面的输入。

两种输出各有用途

SQL 转 CSV 生成带表头、逗号分隔、CRLF 换行的文本,字段内的双引号按 CSV 规则双写。NULL 在 CSV 中成为空字段;需要区分空字符串与 null,或保留布尔类型时,应选择 JSON。

导出内容可以直接核对

结果编辑器显示的就是复制和下载的完整内容。CSV 防护默认给可能触发公式的字符串与表头加单引号前缀,并报告影响数量;真正数值中的负号不会被改动。关闭开关可恢复原始文本输出。

支持语法与处理边界

只提取 VALUES 字面量
需要 INSERT INTO 表名 (列名) VALUES (...),多语句之间用分号分隔。不执行 SQL,不连接数据库;函数、运算、类型转换、DEFAULT、参数、INSERT SELECT、冲突处理、RETURNING、建表和事务语句均拒绝,任何错误都阻止整批导出。
方言选择不是完整数据库模拟
提供 PostgreSQL、MySQL、SQLite 的标识符与普通字符串子集。名称按提取后的拼写精确匹配,不推断数据库大小写折叠、排序规则或列类型。缺列名、二进制、美元引号、E/N/U& 前缀、嵌套及可执行注释不支持。
数值与日期有明确约定
超出 ±9007199254740991 的整数、所有小数、指数和负零在 JSON 中保留为字符串;CSV 保留原数值词法。引号内的日期不改格式,形似 JSON 的字符串也不递归解析成嵌套对象。
输入有上限,导出不截断
最多 200000 个 UTF-16 码元、500 条 INSERT、100 张表、每表 100 列、总计 5000 行和 100000 个单元格,超限整批报错。本工具不提供文件上传、URL 抓取、单元格编辑或多表打包导出。 导出文本最多 2000000 个 UTF-16 码元,避免重复列名令结果无限膨胀。
CSV 不能携带完整类型
CSV 无法可靠区分 NULL 和空字符串。公式前缀防护只改变 CSV 导出的文字,不能保证每种表格软件或再次保存后都按文本解释。对精确类型有要求时选 JSON;导入表格软件时仍应核对文本类型设置。

SQL 转 JSON 常见问题

支持哪些 SQL 格式?

支持显式列名的 INSERT INTO ... VALUES,包括单行、多行和分号分隔的多语句。每行必须与列名数量一致。查询结果表格、SELECT 输出、完整数据库备份脚本不在解析范围内,不能直接把整份 dump 当作受支持输入。

可以处理多个 INSERT 语句吗?

可以。同一精确表标识的语句按出现顺序追加行,不同表各自分组。工具不会去重,也不会解析外键关系。请在表选择器中确认目标,再复制或下载该表的数据。

支持所有 SQL 方言吗?

不支持。选择器只控制已定义的引号与反斜杠规则。MySQL 使用带反斜杠转义的固定子集,不模拟 ANSI_QUOTES 或 NO_BACKSLASH_ESCAPES;其他厂商扩展和未实现的字符串写法会报错。

有大小限制吗?

有。输入最多 200000 个 UTF-16 码元,同时还检查语句、表、列、行和单元格数量。超过任何一项限制都不返回部分结果。表格只先显示 50 行,但在限制内的成功导出会包含当前表的全部数据。

为什么必须写出列名?

单凭 VALUES 中的值无法知道原表的字段名称和顺序。请在生成 SQL 的客户端开启显式列名导出。这里不从 CREATE TABLE 推断结构,也不生成 column1 一类占位键,以免掩盖错误的字段对应关系。

发现受支持的字面量解析不正确?

把种子脚本整理成数据

先用一小段有代表性的 INSERT 试试 SQL 转 JSON,核对引号内容、选中表及数值保留统计,再处理完整批次。