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()
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。