python 用 pymysql 执行数据库通用查询
一、加载库
import pandas as pd
import pymysql
二、定义函数创建连接和游标
def mycursor(db_name=None):
'''连接数据库,创建游标'''
config = dict(zip(['host', 'user', 'port', 'password'],
['192.168.137.155', 'shanger', 3306, '0123']))
config.update(database=db_name)
connection = pymysql.connect(**config)
cursor = connection.cursor()
return cursor
调用函数
三、定义通用查询函数
def query(sql):
'''以数据框形式返回查询据结果'''
cursor.execute(sql)
data = cursor.fetchall() # 以元组形式返回查询数据
header = [t[0] for t in cursor.description]
df = pd.DataFrame(list(data), columns=header) # pd.DataFrem 对列表具有更好的兼容性
return df
四、调用函数执行查询
1、用户查询
sql = 'select user, host from mysql.user;'
query(sql)
结果
2、数据库查询
sql = 'show databases;'
query(sql)
结果
非学无以广才,非志无以成学。