python 封装sql 增删改查连接MySQL

select * from Teacher limit 10

python 封装sql 增删改查连接MySQL_第1张图片

连接字符串配置MysqlConfig.py

class MysqlConfig:
        HOST ='192.168.56.210'
        PORT =3306
        USER ='root'
        PASSWORD ='1qaz@0987654321'
        DB='StudentDB'
        CHARSET ='utf8'

封装增删改查MysqlConnection.py

'''
Author: tkhywang [email protected]
Date: 2023-06-19 15:44:48
LastEditors: tkhywang [email protected]
LastEditTime: 2023-08-04 07:32:36
FilePath: \projectBase\dmlmysql\MysqlConnection.py
Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
'''

import pymysql
from mysqlConfig import MysqlConfig

class MysqlConnection:
    def __init__(self,host=MysqlConfig.HOST,
                port=MysqlConfig.PORT,
                user=MysqlConfig.USER,
                pwd=MysqlConfig.PASSWORD,
                db=MysqlConfig.DB):
        self.db = pymysql.connect(host=host,
                                    port=port,
                                    user=user,
                                    password=pwd,
                                    database=db,
                                    charset=MysqlConfig.CHARSET)#创建连接
        self.cursor = self.db.cursor()#创建游标

    #查询方法
    def query(self,sql,many=True):
        try:
            self.cursor.execute(sql)#执行SQL语句
            if many:
                res = self.cursor.fetchall()
            else:
                res = self.cursor.fetchone()
            return res
        except Exception as e:
            raise e#打印日志
    #增删改方法
    def __do(self,sql):
        try:
            self.cursor.execute(sql)#执行SQL语句
        except Exception as e:
            self.db.rollback()#如果执行失败要回滚
            #打日志
            raise e
        else:
            self.db.commit()#提交

    def update(self,sql):
        self.__do(sql)

    def insert(self,sql):
        self.__do(sql)

    def delete(self,sql):
        self.__do(sql)

    def exit(self):
        self.cursor.close()#关闭游标
        self.db.close()#关闭数据库

if __name__ == '__main__':
    db = MysqlConnection()
    res = db.query('select * from Teacher limit 10;')  #可动态传增删改查语句
    print(res)
    db.exit()

python 封装sql 增删改查连接MySQL_第2张图片

 

你可能感兴趣的:(sql,mysql,数据库)