须要连贯数据库的场景
- 比方注册接口,同一个账号不能反复注册
- 比方流程性接口:登陆 - 绑定银行卡 - 解绑银行卡 测试解绑银行卡的时候,须要先造一个绑定银行卡的数据
- 批改状态的接口,比方一个接口有几种状态:已绑定 - 应用中 - 已登记 测试接口不同的状态时候,需还原数据
- 数据清理,测试实现清理垃圾数据
装置
pip install PyMySQL
连贯数据库
import pymysql
# 数据库信息
db_info = {
"host": "127.0.0.1", # ip
"user": "root", # 用户名
"password": "123456", # 明码
"port": 3306} # 端口
class DbConnect():
def __init__(self, db_cof, database=""):
self.db_cof = db_cof
# 关上数据库连贯
self.db = pymysql.connect(database=database,
cursorclass=pymysql.cursors.DictCursor,
**db_cof)
# 应用 cursor() 办法获取操作游标
self.cursor = self.db.cursor()
def select(self, sql):
# SQL 查问语句
# sql = "SELECT * FROM EMPLOYEE \
# WHERE INCOME > %s" % (1000)
self.cursor.execute(sql)
results = self.cursor.fetchall()
return results
def execute(self, sql):
# SQL 删除、提交、批改语句
# sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
try:
# 执行 SQL 语句
self.cursor.execute(sql)
# 提交批改
self.db.commit()
except:
# 产生谬误时回滚
self.db.rollback()
def close(self):
# 敞开连贯
self.db.close()
def select_sql(select_sql):
'''查询数据库'''
db = DbConnect(dbinfo, database="apps")
result = db.select(select_sql) # 查问
db.close()
return result
def execute_sql(insert_sql):
'''执行 sql'''
db = DbConnect(dbinfo, database="apps")
db.execute(insert_sql) # 查问
db.close()