随笔 - 326,  文章 - 0,  评论 - 0,  阅读 - 16万
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)
posted on   文种玉  阅读(90)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示