python连接MySQL数据库查询

起因

在使用python写某些测试工具类的时候需要从数据库读取已有数据作为测试参数
python的pymysq提供了对MySQL数据库连接以及操作的方法,为了方便使用把读取MySQL方法封装一下

代码构成部分
  • 使用已有的读取config配置文件的方法读取MySQL配置信息
  • 使用已有的日志打印方法打印错误日志信息
	#获取文件读取类对象,获取日志打印类对象
    def __init__(self):
        self.config = Config.Config()
        self.log = Log.MyLog()
  • 创建数据库连接自定义读取函数入参信息,并根据传入参数判断返回数据条数
    def read_mysql(self,sql,type = 0,num = 10):
        host = self.config.sql_host
        port = int(self.config.sql_port)
        user = self.config.sql_user
        password = self.config.sql_password
        try:
            #创建mysql连接
            mysql = pymysql.connect(host=host,port=port,user=user,password=password)
            #cursor获取数据库操作游标
            cursor = mysql.cursor()
            #执行sql语句
            cursor.execute(sql)
            '''
            默认返回查询一条数据,type为1时需要传入返回数据条数,type为2时返回所有查询结果
            '''
            if type == 0:
                reslut = cursor.fetchone()
            elif type == 1:
                reslut = cursor.fetchmany(num)
            elif type == 2:
                reslut = cursor.fetchall()

            return reslut
  • 异常处理并打印日志
        except Exception as e:
            self.log.error("数据库查询错误,错误信息:{0}".format(e))
            raise
        #关闭数据库连接
        mysql.close()
执行效果如下
  • 查询返回1条数据
    在这里插入图片描述
  • 查询返回指定条数数据
    在这里插入图片描述
  • 返回全部数据
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值