方法一:使用Navicat工具
mySQL版本:
SELECT
TABLE_NAME 表名,
COLUMN_NAME 字段,
COLUMN_COMMENT 字段名称,
COLUMN_TYPE 数据类型,
COLUMN_COMMENT 注释
FROM
INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA ='test' order by TABLE_NAME
-- test 为数据库名称,复制粘贴改为你的数据库名称即可
方法二:使用python写个脚本
mysql版本:
import mysql.connector
import pandas as pd
# 创建MySQL连接
cnx = mysql.connector.connect(user='账号', password='密码',
host='主机ip',
database='数据库')
# 查询数据库中的所有表
df = pd.read_sql('SHOW TABLES', con=cnx)
# 遍历所有表,查询表结构信息
with pd.ExcelWriter('tables.xlsx') as writer:
for table_name in df.iloc[:, 0]:
# 查询表结构信息
query = f"DESCRIBE {table_name}"
table_info = pd.read_sql(query, con=cnx)
# 输出表名和表结构信息
table_info.to_excel(writer,sheet_name=str(table_name), index=False)
# 关闭MySQL连接
cnx.close()
SQLserver版本:
import pymssql
import pandas as pd
# 创建SQLSERVER连接
cnx = pymssql.connect(server=‘主机ip’', user='账号',password='密码',database='数据库')
if cnx:
print("连接成功")
# 查询数据库中的所有表
df = pd.read_sql('SELECT name FROM sys.tables', con=cnx)
with pd.ExcelWriter('itsm_tables.xlsx') as writer:
# 遍历所有表,查询表结构信息
for table_name in df.iloc[:, 0]:
# 查询表结构信息
query = f"EXEC sp_columns {table_name}"
table_info = pd.read_sql(query, con=cnx)
# 输出表名和表结构信息
table_info.to_excel(writer,sheet_name=str(table_name), index=False)
# 关闭MySQL连接
cnx.close()