• pyhton 自动化pymysql操作mysqldb数据库增删改查封装


    # 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()
  • 相关阅读:
    [React Native] Target both iPhone and iPad with React Native
    [Angular] Increasing Performance by using Pipe
    [Angular] Angular CDK Intro
    [React] Refactor componentWillReceiveProps() to getDerivedStateFromProps() in React 16.3
    [Python] Create a minimal website in Python using the Flask Microframework
    [GraphQL] Apollo React Mutation Component
    [Angular] Introduce to NGXS
    《火球——UML大战需求分析》(第2章 耗尽脑汁的需求分析工作)——2.4 UML助力需求分析
    《火球——UML大战需求分析》(第2章 耗尽脑汁的需求分析工作)——2.5 小结与练习
    [Django实战] 第4篇
  • 原文地址:https://www.cnblogs.com/SunshineKimi/p/10540190.html
Copyright © 2020-2023  润新知