Python基础学习:Python连接mysql方法封装

这篇博客介绍了如何使用Python的mysql-connector库来建立数据库连接,并封装了一个MysqlConnectDatabase类,实现数据库的增删改查操作。通过实例化该类,可以方便地进行数据库交互并确保操作的原子性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python基础学习:Python连接mysql普适性方法封装

# 需要下载mysql-connector,mysql-connector是MySQL官方提供的驱动器
# 下载命令:pip install mysql-connector
from mysql import connector


class MysqlConnectDatabase(object):
    # 连接数据库
    def __init__(self, host, port, user, password, db, charset='utf8'):
        self.__host = host
        self.__port = int(port)  # mysql端口
        self.__username = user  # mysql远程连接用户名
        self.__password = password  # mysql远程连接密码
        self.__db = db  # mysql使用的数据库名
        self.__charset = charset  # mysql使用的字符编码,默认为utf8
        try:
            self.__connect_database = connector.connect(host=self.__host, port=self.__port,
                                                        user=self.__username, password=self.__password,
                                                        db=self.__db, charset=self.__charset)
        except:
            print('连接失败')

    # 操作数据库(增删改查等)
    def operate_data(self, sql):
        try:
            cur = self.__connect_database.cursor()
            cur.execute(sql)
            try:
                self.__connect_database.commit() # 增删改
                result1 = ''
                cur.close()
                result2 = 'sql语句:"%s"执行成功' % sql
            except Exception:
                try:
                    result1 = cur.fetchall() # 数据库查询返回结果
                    cur.close()
                    result2 = 'sql语句:"%s"执行成功' % sql
                except Exception as e:
                    print(e)
                    result1 = ''
                    result2 = 'sql语句:"%s"执行失败' % sql
                    self.__connect_database.rollback()
        except Exception as e:
            print('失败', e)
            result1 = ''
            result2 = 'sql语句:"%s"执行失败' % sql
            self.__connect_database.rollback()
        if result1 == '':
            return result2
        else:
            return result1, result2

    # 断开数据库连接
    def close_database(self):
        self.__connect_database.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值