功能说明
SQL转Go Struct 是一款专为Go语言开发者设计的在线工具,可将MySQL/SQLite等数据库的CREATE TABLE语句一键转换为Go语言Struct定义。
支持自动识别列类型(int/varchar/text/datetime/tinyint等),生成符合Go命名规范的字段名称(snake_case转camelCase),并可选添加GORM标签、JSON标签、gorm.Model等常用注解。
支持的SQL语法
支持标准 CREATE TABLE 语句,包括:MySQL、PostgreSQL、SQLite 等数据库的建表语法。
自动识别 PRIMARY KEY、AUTO_INCREMENT、UNIQUE、NOT NULL、DEFAULT 等约束,并映射为相应的Go Struct标签。
类型映射规则
BIGINT/INT → int64;INT → int;TINYINT(1) → bool;VARCHAR/TEXT → string;DECIMAL/FLOAT/DOUBLE → float64;DATETIME/TIMESTAMP → time.Time;DATE → time.Time;BLOB → []byte
常见问题
生成的Struct可以直接使用吗?
是的,生成的Struct兼容GORM框架,可直接在GORM项目中使用。字段名自动转换为camelCase,标签包含列名映射。
你可能还想问
类型映射有哪些坑?
时间列对应 time.Time(注意时区与 NULL 处理)、decimal 建议用字符串或专门类型避免浮点误差、整型要区分有无符号与位宽,直接套用默认映射容易埋雷。
表结构变更后怎么同步?
重新生成并比对差异(用版本管理提交落地),比手工改字段更可靠;若使用 ORM,建议让工具从模型生成迁移脚本,保证代码与库结构一致。
速查在线工具箱