当我们进行接口自动化后会造成许多表造成数据,一条一条删除就得一次又一次的连接数据库~~~废话不多说,直接上干货
导入第三方库的方法
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初学者,代码可能不是最精简版,欢迎各位大佬指教 ↩︎



