DDL 转 Go Struct
MySQL 建表语句生成 Go struct(含类型映射)
功能介绍
粘贴 MySQL CREATE TABLE 语句,生成对应的 Go struct:类型按列定义映射(bigint→int64、decimal→float64、datetime→time.Time、varchar/text→string 等),注释转为行注释,可选 json tag。
解析支持列注释、表注释、主键、唯一键识别;外键约束不生成字段。
使用说明
- 粘贴一条或多条 CREATE TABLE 语句
- 可空列默认生成指针类型(可在选项中关闭)
- 生成 package 名可自定义
- GORM 标签暂不生成,如需可后续手动添加
输入输出示例
输入
CREATE TABLE `t_user` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`nickname` VARCHAR(64) NOT NULL COMMENT '昵称',
`birthday` DATETIME NULL,
PRIMARY KEY (`id`)
) COMMENT='用户表';
输出
type TUser struct {
ID int64 `json:"id"` // 主键
Nickname string `json:"nickname"` // 昵称
Birthday *time.Time `json:"birthday"`
}
常见问题
支持哪些 DDL 语法?
覆盖常见 MySQL 8 列类型与约束。生成列、CHECK 约束、分区等高级特性可能解析不完整。
decimal 为什么映射 float64?
Go 没有内置十进制类型,涉及金额请手动改为 shopspring/decimal 等类型。
相关工具
- DDL 转 Java Entity - MySQL 建表语句生成 Java 实体类(含 getter/setter)
- JSON 转 Go Struct - JSON 生成 Go struct 定义,带 json tag
- SQL 格式化 - SQL 格式化、压缩、关键字大小写转换,支持 15 种方言
本工具完全在浏览器本地运行,输入内容不会被上传或保存。