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()

猜你喜欢

转载自www.cnblogs.com/wanglle/p/11615920.html