import pymysql
import pandas as pd
def connect_database(query): # 定义一个函数,名为connect_database,参数为query,即要执行的SQL查询语句
conn = pymysql.connect( # 使用pymysql.connect方法建立数据库连接
host='localhost', # 数据库主机地址,这里是本地主机
port=3306, # 数据库服务端口,默认为3306
user='root', # 登录数据库的用户名
password='1fcSCyYOFRDxKwd', # 登录数据库的密码
database='school', # 要连接的数据库名称
charset='utf8mb4' # 数据库字符集,这里使用utf8mb4支持更多字符编码
)
cursor = conn.cursor() # 创建一个游标对象cursor,用于执行SQL命令
cursor.execute(query) # 执行传入的SQL查询语句
data = cursor.fetchall() # 获取所有查询结果,并存储在变量data中
cols = cursor.description # 获取查询结果的列信息,包括列名等,存储在变量cols中
conn.commit() # 提交事务,确保对数据库的更改被保存下来(对于查询操作而言,这一步不是必须的)
conn.close() # 关闭数据库连接,释放资源
col = [] # 初始化一个空列表,用于存放列名
for i in cols: # 遍历从数据库获取的列信息
col.append(i[0]) # 将每个列的信息中的第一个元素(列名)添加到col列表中
data = list(map(list, data)) # 将查询结果转换为列表的列表形式,方便后续处理
data = pd.DataFrame(data, columns=col) # 查询结果转换成pandas DataFrame格式,col列表作为列名
return data # 返回查询结果
# 程序的入口
if __name__ == "__main__":
data = connect_database("select * from student")
print(data)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)