使用selenium做ui自动化时,产生的数据往往涉及多张表,需要执行多条sql语句进行删除

下面是使用for循环来执行sql,执行速度非常快:

几个记住点:

1、将sql全部写入一个字符串中,使用split方法进行拆分

2、使用for循环执行sql,执行完记得要commit提交事务

delete_sql = "DELETE FROM 表A  WHERE id = @userid;
DELETE FROM 表B  WHERE id = @userid"
class DB:

def __init__(self):
# 连接数据库
self.conn = pymysql.connect(
host=Setting.sql_msg['host'],
port=3306,
user=Setting.sql_msg['user'],
password=Setting.sql_msg['password'],
cursorclass=pymysql.cursors.DictCursor,
charset="utf8")

# 创建游标
self.cur = self.conn.cursor()

def delete_sql(self,userid):
"""删除测试数据"""
# 删除数据的sql
re_sql = delete_sql.replace('@userid', str(userid))
sql_list = re_sql.split(';')
# 循环执行多条sql语句
for sql in sql_list:
self.cur.execute(sql)
       # 记得一定要提交事务
self.conn.commit()
self.cur.close()
self.conn.close()