mysql2md 是一个简单易用的命令行工具,可以将 MySQL 数据库表结构导出为 Markdown 格式的文档,便于查看和分享数据库设计。
- 🔄 将 MySQL 数据库表结构转换为 Markdown 格式
- 📄 支持生成单个文件或多个文件
- 🔧 可选择是否包含表的 DDL 语句
- 📁 支持自定义输出目录
- ⚡ 支持并发处理提高效率
- 📊 显示表的基本信息、字段详情
go install github.com/jayecc/mysql2md@latest
git clone https://github.com/jayecc/mysql2md.git
cd mysql2md
go build -o mysql2md
mysql2md [选项]
选项 | 类型 | 默认值 | 描述 |
---|---|---|---|
-dsn |
string | "username:password@tcp(localhost:3306)/database?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s" |
数据库连接字符串 |
-dir |
string | "./output" |
文档输出目录 |
-whole |
bool | false |
是否生成单个文件(true: 单个文件,false: 多个文件) |
-ddl |
bool | false |
是否包含表的 DDL 语句 |
username:password@tcp(host:port)/database?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s
-
生成包含 DDL 语句的单个文档文件到当前目录:
mysql2md -dsn 'root:password@tcp(localhost:3306)/test?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s' -whole -ddl -dir=.
-
生成包含 DDL 语句的单个文档文件:
mysql2md -dsn 'root:password@tcp(localhost:3306)/test?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s' -whole -ddl
-
为每个表生成单独的文件并包含 DDL 语句:
mysql2md -dsn 'root:password@tcp(localhost:3306)/test?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s' -ddl
-
为每个表生成单独的文件但不包含 DDL 语句:
mysql2md -dsn 'root:password@tcp(localhost:3306)/test?charset=utf8mb4&parseTime=True&loc=Local&timeout=10s'
工具会生成以下信息:
默认生成一个表清单文件,包含数据库中所有表的基本信息:
- 表名(带链接)
- 存储引擎
- 创建时间
- 字符集校对规则
- 表注释
为每个表生成详细信息文档,包含:
- 字段名
- 默认值
- 是否可为空
- 字符集校对规则
- 字段类型
- 键类型(主键、索引等)
- 额外信息(自增等)
- 字段注释
当使用 -ddl
参数时,还会包含表的完整创建语句。
本项目采用 MIT 许可证,详见 LICENSE 文件。