接口自動化--連接數據庫


前面已經寫到了日志類的封裝了,因為我們做接口自動化避免不了需要連接數據庫做一些數據庫的查詢,或者是斷言數據庫中的數據

這些操作我們都是需要連接數據庫的,在企業中用的最廣泛的還是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):
        """
        執行生氣了語句,返回單數據
        :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的類了,請大家多多指教!相互交流


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM