import pymysql
import json
def mysql_connect(用户名: str = 'root',
密码: str = 'root',
ip地址: str = '127.0.0.1',
端口号: int = 3306,
数据库名: str = 'test',
字符集: str = 'utf8mb4'):
connection = pymysql.connect(host=ip地址,
user=用户名,
password=密码,
port=端口号,
database=数据库名,
charset=字符集)
try:
cursor = connection.cursor()
cursor.execute("SHOW TABLES")
结果集 = cursor.fetchall()
json_data = {}
for 表名 in 结果集:
表名 = 表名[0] # 获取表名
cursor.execute(f"SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='{数据库名}' AND TABLE_NAME='{表名}'")
列数据 = cursor.fetchall()
字段集 = []
for 列 in 列数据:
列名, 数据类型, 注释 = 列
字段集.append({
"col": 列名,
"datatype": 数据类型,
"comment": 注释 if 注释 else '' # 使用 if-else 来避免 None
})
json_data[表名] = 字段集
finally:
connection.close()
return json_data
# 调用函数并打印结果
result_json = mysql_connect(密码='123456', 数据库名='rkey_blog')
print(json.dumps(result_json, ensure_ascii=False, indent=4))
发表回复