代码实体类反向生成 SQL 建表 DDL

免费在线实体类转 SQL DDL 建表语句生成器。支持粘贴 Java (POJO / JPA / Lombok)、Go (GORM Struct)、Python (Pydantic / SQLAlchemy) 及 TypeScript 接口代码,一键反向生成 MySQL、PostgreSQL、SQLite 规范建表 DDL。自动提取字段注释与驼峰转下划线。

100% 浏览器本地运行 · 零数据上传
输入或粘贴 Java 实体类代码 0 行
生成的 MySQL 建表 DDL

为什么需要代码实体类反向生成建表 DDL?

在敏捷开发或领域驱动设计(DDD)中,后端开发者经常优先在应用层根据业务模型定义好实体类(例如写好了 Java POJO、Go Struct 或 Python Pydantic Schema),然后再去数据库中创建对应的表结构。

如果手动逐个对照类型手写 CREATE TABLE,不仅容易遗漏字段、输错下划线与驼峰命名,还要反复翻阅不同数据库(MySQL / PG / SQLite)的数据类型映射手册。

本工具与本站的 SQL 建表 DDL 转代码生成器 构成完整双向互转闭环:直接将后端实体类源码粘贴进来,一键反向推导出符合行业规范的数据库建表脚本。

各大编程语言类型 ➔ SQL 列类型映射规则

Java / Go / Python / TS 类型 MySQL 列定义 PostgreSQL 列定义 SQLite 列定义
自增主键 (Long id / int64 ID) BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY BIGSERIAL PRIMARY KEY INTEGER PRIMARY KEY AUTOINCREMENT
整型 (Integer / int32 / int / number) INT NOT NULL DEFAULT 0 INTEGER NOT NULL DEFAULT 0 INTEGER NOT NULL DEFAULT 0
布尔型 (Boolean / bool) TINYINT(1) NOT NULL DEFAULT 0 BOOLEAN NOT NULL DEFAULT FALSE INTEGER NOT NULL DEFAULT 0
字符串 (String / string / str) VARCHAR(255) NOT NULL DEFAULT '' VARCHAR(255) NOT NULL DEFAULT '' TEXT NOT NULL DEFAULT ''
长文本 (含 content / remark / desc) TEXT NULL TEXT NULL TEXT NULL
高精度金额 (BigDecimal / float64 / Decimal) DECIMAL(10, 2) NOT NULL DEFAULT 0.00 NUMERIC(10, 2) NOT NULL DEFAULT 0.00 REAL NOT NULL DEFAULT 0.00
创建时间 (createdAt / CreatedAt) DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
复杂结构 (Map / Dict / JSON) JSON NULL JSONB NULL TEXT NULL

建表规范设计建议

  1. 主键必须是无业务含义的自增整型或雪花算法 ID:严禁将手机号、身份证号或订单号作为数据库主键聚簇索引,防止因频繁乱序插入引发 B+ 树页分裂。
  2. 字段必须显式声明 NOT NULL DEFAULT:尽可能避免字段为 NULL,NULL 会额外占用存储空间、使索引统计信息不准并导致单值比较时出现空值陷阱。
  3. 统一使用 UTF8MB4 字符集:MySQL 中必须显式指定 utf8mb4 与 utf8mb4_unicode_ci(或 utf8mb4_0900_ai_ci),以全面支持移动端 Emoji 表情符和生僻汉字。