python-pymysql获取字段名称-获取内容

获取字段名称-获取内容

import pymysql
# 连接数据库
db = pymysql.connect(host='192.168.254.109', user='root', password='123456', database='blog')
# 使用cursor()方法创建一个游标对象
cursor = db.cursor()
#  查询语句
sql = """select * from a"""
# 执行 sql语句
cursor.execute(sql)
# 查询全部
results = cursor.fetchall()
# 获取表结构  cursor.description
fields = [field[0] for field in cursor.description]
# 序列化 成字典 zip  把两个可迭代对象合并成2维元组。然后用dict 转化为字典。
res = [dict(zip(fields, result)) for result in results]
print(res)
# 关闭游标和数据库的连接
cursor.close()
db.close()
pro_res = """ [{'id': 1, 'name': '111', 'create_time': datetime.datetime(2022, 1, 6, 11, 6, 42), 'update_time': datetime.datetime(2022, 1, 6, 11, 6, 42)},
           {'id': 2, 'name': '222', 'create_time': datetime.datetime(2022, 1, 6, 11, 36, 4), 'update_time': datetime.datetime(2022, 1, 6, 11, 36, 4)}]"""

若只执行 results = cursor.fetchall()

1 产出的结果都是 元组 且不包含字段名称的.

2 使用pandas去解析这个 results也无法产出字段的.

python代码获取mysql字段名和注释

# coding=utf-8
import pymysql
def get_mysql_zi_duan():
    conn = pymysql.connect(host='192.168.', port=3306, user='hs', passwd='xi', db='db_x', charset='utf8')
    cursor01 = conn.cursor()
    cursor01.execute(
        "select column_name, column_comment from information_schema.columns where table_schema ='db_xingyun' and table_name = 'api_ind_guan_yi_s_d'")
    all_info = cursor01.fetchall()  # 数据库字段名和注释
    # print(all_info)
    zi_duan_ming = []
    zhushi = []
    for data in all_info:
        zi_duan_ming.append(data[0])
        zhushi.append(data[1])
        # print(data[0])
    print(str(zi_duan_ming).replace('[','').replace(']','').replace("'",''))
    print(zhushi)
    cursor01.close()
    conn.close()
if __name__ == '__main__':
    # 获取一个表的 所有字段名
    get_mysql_zi_duan()

总结