python接口測試—mysql數據庫操作


python操作mysql數據庫

1、安裝pymysql庫

在python中安裝pymysql第三方庫,通過pip install pymysql 命令進行安裝。

2、python操作mysql數據庫的步驟

  • 建立數據庫連接,連接到數據庫 connect
  • 創建一個游標 cursor
  • 執行對應的sql語句
  • 獲取查詢到的數據

3、獲取查詢數據的兩個方式

  • 方式一:獲取一條查詢數據

  data_one = cur.fetchone() # 游標名.fetchone()

 

  • 方式二:獲取所有的查詢數據

 

  data = cur.fetchall() # 游標名.fetchall()

 

4、python操作mysql數據庫的具體代碼

import pymysql

# 1、連接到數據庫
con = pymysql.connect(host='ip',
                port=3306,
                user='test',
                password='test',
                database='future',
                charset='utf8')
# 2、創建一個游標 cursor
cur = con.cursor()
# 3、執行對應的sql語句  execute()
sql = 'select * from member '
# 查詢到的數據條數
res = cur.execute(sql)
print(res)
# 4、獲取查詢到的數據
# 方法一:獲取一條查詢數據
data_one = cur.fetchone()
print(data_one)
# 方法二:獲取所有的查詢數據
data = cur.fetchall()
print(data)

5、注意

pymysql操作數據庫,默認開啟了事務,需要使用 con.commit() 進行提交事務,未提交的話,所做的操作不能生效。

6、封裝一個自己的mysql類

目的:

  • 方便讀取數據
  • 將數據庫配置提取到配置文件中,方便管理測試環境
import pymysql
from common.config import conf

class ReadMySQLData(object):
    def __init__(self):
        # 連接到數據庫
        self.con = pymysql.connect(host=conf.get('mysql','host'),
                port=conf.getint('mysql','port'),
                user=conf.get('mysql','user'),
                password=conf.get('mysql','password'),
                database=conf.get('mysql','database'),
                charset='utf8')
        # 創建游標
        self.cur= self.con.cursor()
    def find_one(self,sql):
        '''
        查找並返回找到的第一條數據,返回的數據類型是元組
        :param sql:
        :return:
        '''
        self.cur.execute(sql)
        self.con.commit()
        return self.cur.fetchone()
    def find_all(self,sql):
        '''
        查找並返回找到的所有數據,返回的數據類型是元組
        :param sql:
        :return:
        '''
        self.cur.execute(sql)
        self.con.commit()
        return self.cur.fetchall()
    def close(self):
        '''
        關閉游標,斷開數據庫連接
        :return:
        '''
        self.cur.close()
        self.con.close()

 


免責聲明!

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



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