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 等类型。

相关工具

本工具完全在浏览器本地运行,输入内容不会被上传或保存。