接口自动化--连接数据库

前面已经写到了日志类的封装了,因为我们做接口自动化避免不了需要连接数据库做一些数据库的查询,或者是断言数据库中的数据

这些操作我们都是需要连接数据库的,在企业中用的最广泛的还是MySQL,下面我来说下怎么连接MySQL数据库的吧!

在python中连接MySQL数据库用的是pymysql这个库

安装:直接pip命令解决   pip install pymysql

对pymsql有什么疑问可以直接去官方网站哈。。。  

说这么多没啥用,还是按照惯例,直接上代码吧

import pymysql


class DBMsql:
    def __init__(self,
                 host=None,
                 port=3306,
                 user="root",
                 password="",
                 charset="utf8",
                 database=None,
                 **kw):
        # 连接数据库
        self.conn = pymysql.connect(host=host,
                                    port=port,
                                    user=user,
                                    password=password,
                                    charset=charset,
                                    database=database,
                                    **kw)
        # 获取游标
        self.cursor = self.conn.cursor()

    def query_one(self, sql, args=None):
        """
        执行sql语句,返回单数据
        :param sql: 
        :param args: 列表或者元祖,此参数主要为sql语句中的占位提供参数
        :return: 
        """
        self.cursor.execute(sql, args)
        self.conn.commit()
        return self.cursor.fetchone()

    def query_all(self, sql, args=None):
        """
        执行sql语句,返回多数据
        :param sql: 
        :param args: 列表或者元祖,此参数主要为sql语句中的占位提供参数
        :return: 
        """
        self.cursor.execute(sql, args)
        self.conn.commit()
        return self.cursor.fetchall()

    def close(self):
        # 关闭数据库连接
        self.cursor.close()
        self.conn.close()

当然,在pymysql中返回的数据默认是元祖形式,我们在实际应用中,还是字典靠谱,直接用过键值取值,想修改返回格式为字典也很简单,只需要在连接数据库的代码增加一个参数(cursorclass)即可,将其参数改为DictCursor,直接见下面的代码

self.conn = pymysql.connect(host=host,
                                    port=port,
                                    user=user,
                                    password=password,
                                    charset=charset,
                                    database=database,
                                    cursorclass=DictCursor,
                                    **kw)

上面就是读取MySQL的类了,请大家多多指教!相互交流

posted @ 2019-11-05 19:26  大渝  阅读(1049)  评论(0编辑  收藏  举报