当我们进行接口自动化后会造成许多表造成数据,一条一条删除就得一次又一次的连接数据库~~~废话不多说,直接上干货
导入第三方库的方法
from pymysql.constants import CLIENT
连接数据库时添加参数
client_flag=CLIENT.MULTI_STATEMENTS
完整代码
#!/usr/bin/env python # _*_ coding:utf-8 _*_ __author__ = 'BIN' import pymysql import os import sys from pymysql.constants import CLIENT sys.path.append(os.path.dirname(os.path.dirname(__file__))) from lib import log class Database: '''连接数据库''' def __init__(self, ip='127.0.0.1', library='cloud_account_0000'): try: self.conn = pymysql.connect(ip, 'root', '********', library,client_flag=CLIENT.MULTI_STATEMENTS) self.cursor = self.conn.cursor() log.Log().info('连接--{}--数据库成功'.format(library)) except Exception as a: log.Log().error('连接数据库失败,报错信息**{0}'.format(a)) def common(self, sql, step): try: self.cursor.execute(sql) if step == "查询": result_one = self.cursor.fetchone() return result_one[0] self.conn.commit() log.Log().info("执行{}成功--{}--".format(step, sql)) self.conn.close() except Exception as a: self.conn.rollback() log.Log().error("执行{}失败,--{}--".format(step, a)) self.conn.close() @staticmethod def select(sql): return Database().common(sql, step="查询") @staticmethod def insert(sql): Database().common(sql, step="插入") @staticmethod def delete(sql): Database().common(sql, step="删除") @staticmethod def up_data(sql): Database().common(sql, step="更改") if __name__ == '__main__': # 查询商户id id = Database.select("select id from tb_merchant where merchant_no = 'ceshi9527'") # 删除商户合同、营业执照 abc="DELETe FROM tb_agent WHERe id = {0}".format(id); "DELETe FROM tb_agent_settlement_info WHERe agent_id = {0}".format(id); Database.delete(abc)
最新代码两个删除操作赋予一个变量,执行所有删除操作只连接了一次数据库
一个具有注脚的文本。1
本人还是python初学者,代码可能不是最精简版,欢迎各位大佬指教 ↩︎