Python连接数据库查询数据对比pandas

链接数据库方法

连接数据库

class DatabaseConnection:
    def __init__(self, host, user, password, database):
        self.host = host
        self.user = user
        self.password = password
        self.database = database
        self.connection = None
        self.cursor = None

    def connect(self):
        """建立数据库连接"""
        self.connection = pymysql.connect(host=self.host, user=self.user,
                                          password=self.password, db=self.database, charset='utf8')
        self.cursor = self.connection.cursor()

    def execute_query(self, sql):
        """执行查询操作"""
        if self.connection is None:
            self.connect()
        self.cursor.execute(sql)
        results=self.cursor.fetchall()
        columns = [column[0] for column in self.cursor.description] #设置返回值回显列名字典类型
        rows_as_dict = []
        for row in results:
            row_dict = dict(zip(columns, row))
            rows_as_dict.append(row_dict)
        return rows_as_dict
    def execute_transaction(self, sql):
        """执行事务操作"""
        if self.connection is None:
            self.connect()
        self.cursor.execute(sql)
        self.connection.commit()
    def close_connection(self):
        """关闭数据库连接"""
        if self.connection is not None:
            self.connection.close()

#该方法为pandas设置表宽优化显示

 def set_option():
    pd.set_option('display.max_colwidth', 50)
    pd.set_option('display.max_rows', None)  # 设置显示行的最大数目为无限
    pd.set_option('display.max_columns', None)  # 设置显示列的最大数目为无限
    pd.set_option('display.width', None)  # 自动检测控制台的宽度

下面查询所有的数据库表就可以直接引用此对象进行查询使用
列如:
对比表头 (import pandas as pd 引用pandas后直接封装数据进行对比pd.DataFrame(db_test.execute_query(sql)) 在这里插入图片描述
查询数据库表数据
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值