Python连接MySQL工具类

Python连接MySQL工具类,代码如下:

import pymysql  # 引入pymysql模块
import traceback  # 引入python中的traceback模块,跟踪错误
import sys  # 引入sys模块
 
 
class MysqlUtil:
    def __init__(self):
        # 初始化方法,连接数据库
        host = '127.0.0.1'  # 主机名
        user = 'root'  # 数据库用户名
        password = '123456'  # 数据库密码
        database = 'db_online_notes'  # 数据库名称
        self.db = pymysql.connect(host=host, user=user, password=password, db=database)  # 建立连接
        self.cursor = self.db.cursor(cursor=pymysql.cursors.DictCursor)  # 设置游标,并将游标设置为字典类型
 
    # 添加数据(用户注册、添加笔记)
    def insert(self, sql):
        try:
            # 执行sql语句
            self.cursor.execute(sql)
            # 提交到数据库执行
            self.db.commit()
        except Exception as e:
            # 如果发生异常,则回滚
            print("发生异常", e)
            self.db.rollback()
        finally:
            # 关闭数据库连接
            self.db.close()
 
    # 查询数据库:单个结果集
    def fetchone(self, sql):
        try:
            # 执行sql语句
            self.cursor.execute(sql)
            result = self.cursor.fetchone()
        except:
            # 输出异常信息
            traceback.print_exc()
            # 如果发生异常,则回滚
            self.db.rollback()
        finally:
            # 关闭数据库连接
            self.db.close()
        return result
 
    # 查询数据库:多个结果集
    def fetchall(self, sql):
        try:
            # 执行sql语句
            self.cursor.execute(sql)
            results = self.cursor.fetchall()
        except:
            # 采用sys模块回溯最后的异常
            info = sys.exc_info()
            print(info[0], ":", info[1])
            # 如果发生异常,则回滚
            self.db.rollback()
        finally:
            # 关闭数据库连接
            self.db.close()
        return results
 
    #  删除结果集
    def delete(self, sql):
        try:
            # 执行sql语句
            self.cursor.execute(sql)
            self.db.commit()
        except:
            # 将错误日志输入到目录文件中
            f = open("\log.txt", 'a')
            traceback.print_exc(file=f)
            f.flush()
            f.close()
            # 如果发生异常,则回滚
            self.db.rollback()
        finally:
            # 关闭数据库连接
            self.db.close()
 
    # 更新结果集
    def update(self, sql):
        try:
            # 执行sql语句
            self.cursor.execute(sql)
            self.db.commit()
        except:
            # 如果发生异常,则回滚
            self.db.rollback()
        finally:
            # 关闭数据库连接
            self.db.close()
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值