python封装一个工具类 ,对MySQL数据库增删改查

import pymysql#导入库
class Connct_mysql():#创建一个连接数据库的类
    def __init__(self,host,user,password,db,port):#在构造函数里面传入连接数据库的参数作为实例变量
        ''' 连接数据库所需要的参数 '''
        self.host = host
        self.user = user
        self.password = password
        self.db = db
        self.port = port

   
    def connct_db(self):#定义连接数据库的方法
        try:#try+except 捕获异常
            global db#global把db对象,设置为全局变量
            #connect方法连接数据库,实例变量作为参数传入
            db = pymysql.connect(host=self.host, user=self.user, password=self.password, db=self.db, port=self.port)
            global cursor#global把cursor方法创建游标对象对象,设置为全局变量
            cursor=db.cursor()#cursor方法创建游标对象
        except Exception as e:#连接数据库事变是会任意捕获异常
            print('数据库连接失败', e)




    def select_connct(self,sql):#定义查询方法,sql为形参,用例传递sql语句
        try:
            cursor.execute(sql)#通过游标对象,调用execute执行方法,查询sql语句
            print(cursor.fetchall())#通过游标获取,表数据内容,并打印
        except Exception as e:
            print(e)
            db.rollback()
            
    def update_connct(self,sql):
        try:
            cursor.execute(sql)#通过游标执行查询语句
            db.commit()
        except Exception as e:
            print(e)
            db.rollback()

    def delete_connct(self,sql):
        try:
            cursor.execute(sql)#通过游标执行查询语句
            db.commit()
        except Exception as e:
            print(e)
            db.rollback()

    def insert_connct(self,sql):
        try:
            cursor.execute(sql)#通过游标执行查询语句
            db.commit()
        except Exception as e:
            print(e)
            db.rollback()



if __name__ == '__main__':
    #创建实例对象
    connct_mysql=Connct_mysql('192.168.31.105','root','123456','finance',3306)
    
    #通过对象调用connct_db连接数据库方法,连接数据库,并设置全局变量
    connct_mysql.connct_db()
    
    #传入参数对数据修改
    connct_mysql.update_connct('update score_test set score=100 where sc_id=3')
    
    # 传入参数对表数据删除
    connct_mysql.delete_connct('delete from score_test where sc_id=3')
    
    # 传入参数对表数据插入数据
    connct_mysql.insert_connct('insert into score_test(sc_id,c_id,score)values(3,1606,90)')
    
    # 传入参数查询表数据
    connct_mysql.select_connct('select * from score_test')

 

posted @ 2021-02-02 23:58  测试-dali  阅读(641)  评论(0编辑  收藏  举报