python pymysql连接数据库自动化脚本批量插入,查询,update,delete封装代码优化以及环境config.ini文件配置

config.ini
# coding=utf-8
[beta]
ip=10.112.123.98
port=3306
user=admin
pwd=pwd@127
see_db=see_db
ec_db=ec_db

[alpha]
ip=10.98.96.56
port=3307
user=admin
pwd=pwd@127
see_db=see_db
ec_db=ec_db


# coding=utf-8
import pymysql
import os
import configparser
"""
    /*
     @:param: python version:3.7
     @:param: author Chen
     @:param: Date: 2019.01.19
     @:param:
            @env:
                beta
                alpha
            @db_name: see_db,ec_db
    */
"""
class EnvConfig(object):
    def __init__(self,env,db_name):
        config_dir = os.path.split(os.path.realpath(__file__))[0]
        config_path = os.path.join(config_dir, "config.ini")
        config = configparser.ConfigParser()
        config.read(config_path)
        self.ip = config.get(env,'ip')
        self.user = config.get(env,'user')
        self.pwd =config.get(env,'pwd')
        self.db_name = config.get(env,db_name)
        self.port = int(config.get(env,'port'))

"""
    /*
    cases:
    t_job=GetConnectDb("see_db","beta")

   */
"""

class GetConnectDb(EnvConfig):
    def __init__(self,env,db_name):
          EnvConfig.__init__(self,env,db_name)
          ip=self.ip
          port=self.port
          user=self.user
          pwd=self.pwd
          db=self.db_name
          self.connect=pymysql.connect(ip,port,user,pwd,db,charset='utf8')
          self.cursor=self.connect.cursor()
          try:
                if self.cursor:
                    pass
          except ConnectionError as e:
              print(e)

    """
    /*
      @:param:  sql  Usage:select * xx t_job where pipelineId='6444df4555sa55dgd';
      @:param:  rows type is int ,get  the first  rows of data
    */
    """
    def disconnect_db(self):
        try:
            self.cursor.close()
            self.connect.close()
        except ConnectionAbortedError as e:
            try:
                self.disconnect_db()
            except ConnectionAbortedError as e:
                print(e)
            print(e)

    def exe_select(self,sql,rows=None):
        try:
            if rows == None:
                try:
                    self.cursor.execute(sql)
                    res=self.cursor.fetchall()
                    return res
                except SyntaxError as e:
                    print(e)
                finally:
                    self.disconnect_db()
            else:
                try:
                    self.cursor.execute(sql)
                    res=self.cursor.fetchmany(rows)
                    return res
                except SyntaxError as e:
                    print(e)
                finally:
                    self.disconnect_db()
        except Exception as e:
            print(e)


    """
    /*
      @:param:
      Usage:
      when is self.execute(sql) Usage:
          sql = insert into t_job(column1,column2,column3)values(a,b,c)
          array=None
      when is self.executemany(sql,array) Usage:
            sql = insert into t_job(id,user,date)values(%s,%s,%s)
            array = [(1001,"dev",'2018-11-25-11-12-43'),(1002,"test",'2018-11-25-11-12-44')]
      @:param:  rows type is int ,get  the first  rows of data
    */
    """
    def exe_insert(self,sql,array=None):
        try:
            if array is None:
                try:
                    self.cursor.execute(sql)
                    self.connect.commit()
                except SyntaxError as e:
                    self.connect.rollback()
                    print(e)
                finally:
                    self.disconnect_db()
            else:
                try:
                    self.cursor.executemany(sql,array)
                    self.connect.commit()
                except SyntaxError as e:
                    self.connect.rollback()
                    print(e)
                finally:
                    self.disconnect_db()
        except Exception as e:
            print(e)
    """
    /*
    update sql :
    @:param: sql
    */
    """

    def update_opt(self,sql):
        try:
            self.cursor.execute(sql)
            self.connect.commit()
        except Exception as e:
            self.connect.rollback()
            print(e)
        finally:
            self.disconnect_db()
    def delete_opt(self,sql):
        try:
            self.cursor.execute(sql)
            self.connect.commit()
        except SyntaxError as e:
            self.connect.rollback()
            print(e)
        finally:
            self.disconnect_db()
























 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值