【专题】python封装MySQL类

本文档展示了如何使用Python的pymysql库连接、查询和操作MySQL数据库。通过DBUtil类,实现数据库的连接、关闭、执行SQL以及查询功能,包括开始事务、回滚和提交。示例代码中包含了建立连接、执行SQL查询以及检查数据是否存在等操作。
摘要由CSDN通过智能技术生成

文章目录


Python创建连接MySQL类 实例方法 连接 查询 执行sql

import mysql

class DBUtil():
	def __init__(self) -> None:
        """
        初始化数据
        """
        # 连接数据库信息
        self._host = ''
        self._user = ''
        self._pwd = '-'
        self._name = ''
        self._port = 
        self._charset = 'utf8'
        self._conn = self.connect_mysql()

        if self._conn:
            self._cursor = self._conn.cursor(cursor=pymysql.cursors.DictCursor)
            
	def connect_mysql(self):
        """
        建立数据库连接
        """
        try:
            conn = pymysql.connect(host=self._host,
                                   user=self._user,
                                   passwd=self._pwd,
                                   db=self._name,
                                   port=self._port,
                                   cursorclass=pymysql.cursors.DictCursor,
                                   charset=self._charset)
        except Exception as e:
            raise("数据库连接异常")
        return conn

    def close(self):
        """
        关闭数据库连接
        """
        if self._conn:
            try:
                if (type(self._cursor) == 'object'):
                    self._conn.close()
                if (type(self._conn) == 'object'):
                    self._conn.close()
            except Exception:
                raise("关闭数据库连接异常")

    def execute_sql(self,sql,*args):
        """
        执行sql
        """
        res = ''
        try:
            self._conn.begin()
            data = self._cursor.execute(sql,args)
            self._conn.commit()
        except Exception:
            self._conn.rollback()
            raise("执行sql异常")
        self.close()
        return data
    
    def select(self, sql, *args):
        """
        查询sql
        """
        try:
            self._conn.begin()
            self._cursor.execute(sql, *args)
            data = self._cursor.fetchall()
            if not data:
                date = False
        except Exception as e:
            self._conn.rollback()
            raise("查询异常")
        self.close()
        return data

    def exists(self,sql):
        """
        判断是否存在
        """
        flag = False
        try:
            self._conn.begin()
            self._cursor.execute(sql)
            data =self._cursor.fetchall()
            if data:
                flag = True
        except Exception as e:
            self.conn.rollback()
            raise("执行异常")
        self.close()
        return flag


if __name__ == '__main__':
    db = DBUtil()
    sql = "select * from test where id = %s" % 1
    print(db.execute_sql(sql))
对于Python MySQL封装,可以使用第三方库来实现。一个常用的库是`pymysql`,它提供了PythonMySQL数据库的交互功能。以下是一个简单的MySQL封装的示例代码: ```python import pymysql class MySQLWrapper: def __init__(self, host, user, password, database): self.host = host self.user = user self.password = password self.database = database self.connection = pymysql.connect(host=self.host, user=self.user, password=self.password, database=self.database) self.cursor = self.connection.cursor() def execute_query(self, query): self.cursor.execute(query) result = self.cursor.fetchall() return result def execute_update(self, query): self.cursor.execute(query) self.connection.commit() def close(self): self.cursor.close() self.connection.close() ``` 在这个示例中,`MySQLWrapper`封装了与MySQL数据库的连接和查询操作。它的构造函数接受数据库的主机名、用户名、密码和数据库名作为参数,并创建了一个数据库连接和游标对象。`execute_query`方法用于执行查询操作并返回结果,`execute_update`方法用于执行更新操作(例如插入、更新或删除数据),`close`方法用于关闭数据库连接。 要使用这个封装,你需要先安装`pymysql`库,可以使用以下命令进行安装: ``` pip install pymysql ``` 然后,你可以实例化`MySQLWrapper`,并调用其中的方法来执行相应的数据库操作。在使用完毕后,记得调用`close`方法关闭数据库连接。 这只是一个简单的示例,实际上,你可以根据需要扩展这个封装,添加更多的功能和方法来满足不同的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值