Skip to main content

JSON 到 SQL 模式生成器 从 JSON 数据生成 CREATE TABLE SQL 语句,具有类型推断功能。

JSON 到 SQL 模式 illustration
🔄

JSON 到 SQL 模式

从 JSON 数据生成 CREATE TABLE SQL 语句,具有类型推断功能。

1

粘贴JSON数据

粘贴一个代表您的数据的JSON对象数组。

2

配置选项

设置表名并选择是否添加自增ID列。

3

获取CREATE TABLE语句

复制为您的数据库生成的SQL模式。

Loading tool...

What Is JSON 到 SQL 模式?

JSON 到 SQL Schema 自动生成 JSON 数据的 CREATE TABLE SQL 语句,通过分析数据并推断出适合的 SQL 列类型。该工具检查 JSON 数组中的所有对象以确定每个字段最好的 SQL 类型:整数变为 INTEGER,十进制变为 DECIMAL,日期变为 DATE 或 DATETIME,字符串变为 VARCHAR 并设置适当长度。你可以自定义表名,并可选择包含自动递增的主键列。

Why Use JSON 到 SQL 模式?

  • 根据JSON值自动推断SQL类型(INTEGER、DECIMAL、VARCHAR、DATE等)。
  • 分析所有对象以确定每列的最佳类型。
  • 可选的自增主键列。
  • 可自定义表名。

Common Use Cases

数据库设计

快速从示例JSON数据生成新数据库表的初始模式。

数据导入准备

在将JSON数据导入SQL数据库之前创建所需的表结构。

API到数据库

从API响应数据生成用于数据仓库的数据库模式。

原型设计

在开发过程中快速构建JSON模拟数据的数据库表。

Technical Guide

类型推断检查每个值并分配最具体的 SQL 类型。算法按顺序检查:null/undefined → TEXT (默认),布尔值 → BOOLEAN,整数 → INTEGER,十进制数字 → DECIMAL(10,2),日期字符串(YYYY-MM-DD)→ DATE,datetime 字符串 → DATETIME,长字符串(>255 个字符)→ TEXT,其它字符串 → VARCHAR(n) 其中 n 向上舍入到最接近的 50。

当多个对象具有相同键的不同值类型时,不太具体的类型获胜(例如,如果一个对象有整数而另一个对象对同一键有字符串,则使用 VARCHAR)。

从 JSON 键获取的列名以 SQL 兼容性为由被反引号包围。嵌套对象和数组被跳过,因为它们不映射到平面 SQL 列。

输出使用 MySQL 兼容语法并带有反引号引用。对于 PostgreSQL,请用双引号替换反引号。对于 SQLite,反引号有效或可以删除。

Tips & Best Practices

  • 1
    提供代表性的示例数据 -- 值越多样,类型推断越好。
  • 2
    嵌套对象被跳过 -- 如果需要,请先将您的JSON扁平化。
  • 3
    生成的模式是一个起点 -- 审查并调整类型和约束。
  • 4
    VARCHAR长度向上舍入为50的倍数,以遵循常见做法。

Related Tools

Frequently Asked Questions

Q 支持哪些数据库?
输出使用MySQL兼容语法。可能需要对PostgreSQL或SQLite进行少量调整(引号样式)。
Q 如何推断类型?
检查值:布尔、整数、十进制、日期格式、datetime格式和字符串长度。选择最具体的适用类型。
Q 外键怎么办?
无法仅从JSON数据中推断出外键关系。在生成后手动添加约束。
Q 支持嵌套对象吗?
嵌套对象和数组被跳过。只有标量(原始)值包含在模式中。
Q 我可以添加索引吗?
索引定义不会自动生成。根据您的查询模式添加CREATE INDEX语句。

About This Tool

JSON 到 SQL 模式 is a free online tool by FreeToolkit.ai. All processing happens directly in your browser — your data never leaves your device. No registration or installation required.