- 接口自动化过程中,我们经常需要新增数据。例如:注册账户时,同一账号只能注册一次,再次注册会失败。此时我们,就需要用到后置处理器,清除数据;
- 有的我们可以调用删除的接口操作,但是有的需要连接数据库删除(推荐,由于不确定数据库是否已存在相同数据,所以我们可以查询然后判断是直接注册还是删除后再注册)
- python中操作MySQL数据库需要使用到第三方模块:pymysql
- 1、环境搭建:pip install pymysql
- 2、基本操作
import pymysql
# 数据库连接
db = pymysql.connect(
host = "47.106.165.195",
user = "root",
password = "123456",
port = 3306,
database = "JD_50",
)
#创建游标对象
cursor = db.cursor()
#SQL语句
sql = 'select * from Student'
sql1 = "insert into Student values ('10','xwl','1990-12-21','男')"
#执行sql
cursor.execute(sql1)
#提交,增删改等操作需要执行
db.commit()
#获取数据
# one = cursor.fetchone() #获取1条数据
# many = cursor.fetchmany() #获取指定条数数据,不填默认为1
# all = cursor.fetchall() #获取全部数据
# print(one)
# print(all)
#关闭游标
cursor.close()
#关闭数据库
db.close()
- 3、上面的操作比较散,我们在实际使用过程中,一般在一个单独的py文件封装数据库操作,使用时直接调用
import pymysql
dbinfo = {
"host":"47.106.165.195",
"user":"root",
"password":"123456",
"port":3306
}
class DB:
def __init__(self,dbinfo):
self.db = pymysql.connect(cursorclass = pymysql.cursors.DictCursor,
**dbinfo)
self.cursor = self.db.cursor()
def select(self,sql):
self.cursor.execute(sql)
result = self.cursor.fetchall()
return result
def execute(self,sql):
try:
self.cursor.execute(sql)
self.db.commit()
except:
self.db.rollback()
def close(self):
self.cursor.close()
self.db.close()
if __name__ == '__main__':
db = DB(dbinfo)
#查询
sql = "SELECT * from test.class"
result = db.select(sql)
print(result)
#修改
sql2 = "INSERT into test.class VALUES (5,'五年一班')"
db.execute(sql2)
sql = "SELECT * from test.class"
result = db.select(sql)
print(result)