如何将mysql表结构导出成Excel格式的(并带备注)

方法一:

1.使用一个MySQL管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项:

导出的格式如下:

2.要想转成Excel格式的只需手动将该表复制到Excel中去。


方法二:

1.以下用的是Navicat Premium,可以换成任意图形化客户端

SELECT
  COLUMN_NAME 列名,
  COLUMN_TYPE 数据类型,
    DATA_TYPE 字段类型,
  CHARACTER_MAXIMUM_LENGTH 长度,
  IS_NULLABLE 是否为空,
  COLUMN_DEFAULT 默认值,
  COLUMN_COMMENT 备注 
FROM
 INFORMATION_SCHEMA.COLUMNS
where
-- developerclub为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
table_schema ='developerclub'
AND
-- article为表名,到时候换成你要导出的表的名称
-- 如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了,所以还是建议写上要导出的名名称
table_name  = 'article'

2.查询结果图

包含数据类型、长度、注释等的表结构图

3.然后全选复制结果到Excel表中即可

表结构复制到Excel中效果图


### 如何使用 MySQL 导出表结构和字段注释 为了导出 MySQL表结构注释,可以采用多种方式实现。以下是几种常见的方法: #### 方法一:通过 SQL 查询语句获取表结构注释 可以通过查询 `INFORMATION_SCHEMA.COLUMNS` 系统视图来提取指定数据库中某张表的结构信息及其注释。以下是一个通用的 SQL 脚本示例[^1]: ```sql SELECT COLUMN_NAME AS 列名, COLUMN_TYPE AS 数据类型, DATA_TYPE AS 字段类型, CHARACTER_MAXIMUM_LENGTH AS 长度, IS_NULLABLE AS 是否为空, COLUMN_DEFAULT AS 默认值, COLUMN_COMMENT AS 备注 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name'; ``` 上述脚本可以根据实际需求替换 `'your_database_name'` 和 `'your_table_name'` 来适应不同的场景。 #### 方法二:利用 Navicat 工具导出表结构Excel 文件 如果希望将表结构及相关注释放入 Excel 中以便进一步处理,可以借助图形化工具如 Navicat 完此任务。具体操作流程如下][^[^23]: 1. 打开 Navicat 连接目标 MySQL 数据库; 2. 右键点击需要导出的表选择 **“导出向导”** 或类似的选项; 3. 在弹窗中设置导出格式为 CSV 或 XLSX,勾选包含注释的内容; 4. 设置保存路径后运行导出过程即可完。 #### 方法三:编写自定义脚本来批量生文档 对于更复杂的需求或者多个表的情况,则可考虑构建自动化解决方案。例如基于 Python 编程语言配合 pymysql 库访问 MySQL 数据源读取元数据后再输出到文件里去形正式的技术文档形式[^4]: ```python import pymysql connection = pymysql.connect( host='localhost', user='root', password='password', database='test_db' ) try: with connection.cursor() as cursor: sql = """ SELECT ORDINAL_POSITION AS 序号, COLUMN_NAME AS 字段, COLUMN_TYPE AS 字段类型, CASE WHEN COLUMN_KEY = 'PRI' THEN '是' ELSE '' END AS 主键, CASE WHEN IS_NULLABLE = 'NO' THEN '是' ELSE '否' END AS 非空, COLUMN_DEFAULT AS 默认值, COLUMN_COMMENT AS 注释 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s; """ cursor.execute(sql, ('test_db', 'example_table')) result = cursor.fetchall() finally: connection.close() for row in result: print(row) ``` 以上三种途径均能有效解决从 MySQL 提取出完整的表结构连同其对应的注解问题,用户可根据自身的偏好和技术栈选取最适合自己的方案实施之。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值