栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

python操作mysql数据库一次执行多条SQL语句

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python操作mysql数据库一次执行多条SQL语句

当我们进行接口自动化后会造成许多表造成数据,一条一条删除就得一次又一次的连接数据库~~~废话不多说,直接上干货

导入第三方库的方法
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


  1. 本人还是python初学者,代码可能不是最精简版,欢迎各位大佬指教 ↩︎

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/280285.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号