【Python】Python封装一个操作MySQL的工具类

代码实现

import pymysql

class MySQLTool:
    def __init__(self, host, user, password, database):
        self.connection = pymysql.connect(host=host,
                                          user=user,
                                          password=password,
                                          database=database)
        self.cursor = self.connection.cursor(pymysql.cursors.DictCursor)

    def query(self, sql, params=None):
        self.cursor.execute(sql, params or ())
        return self.cursor.fetchall()

    def insert(self, sql, params=None):
        self.cursor.execute(sql, params or ())
        self.connection.commit()
        return self.cursor.lastrowid

    def update(self, sql, params=None):
        self.cursor.execute(sql, params or ())
        self.connection.commit()
        return self.cursor.rowcount

    def delete(self, sql, params=None):
        self.cursor.execute(sql, params or ())
        self.connection.commit()
        return self.cursor.rowcount

    def __enter__(self):
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        self.cursor.close()
        self.connection.close()
        
        
if __name__ == '__main__':
    # 初始化工具类实例
    db_tool = MySQLTool('localhost', 'root', 'password', 'my_database')

    # 查询操作
    result = db_tool.query("SELECT * FROM my_table WHERE id = %s", (1,))
    print(result)

    # 插入操作
    new_id = db_tool.insert("INSERT INTO my_table (name, value) VALUES (%s, %s)", ('name', 'value'))
    print(f"Inserted row ID: {new_id}")

    # 更新操作
    updated_rows = db_tool.update("UPDATE my_table SET value = %s WHERE id = %s", ('new_value', 1))
    print(f"Updated rows: {updated_rows}")

    # 删除操作
    deleted_rows = db_tool.delete("DELETE FROM my_table WHERE id = %s", (1,))
    print(f"Deleted rows: {deleted_rows}")
    
    # 推荐使用以下这种操作方式不用手动去关闭连接
    with MySQLTool('localhost', 'root', 'password', 'my_database') as db_tool:
    	# 这里执行数据库操作
	    result = db_tool.query("SELECT * FROM my_table")
	    print(result)
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python Redis工具类封装了Redis数据库操作的一组函数或方法,方便开发人员在Python中使用Redis进行数据存储、读取和修改等操作。它可以简化与Redis的交互流程,提高开发效率。 Python Redis工具类通常包含以下功能: 1. 连接Redis数据库:提供连接Redis数据库的方法,包括指定主机名、端口号和认证信息。 2. 数据保存和读取:提供将数据保存到Redis数据库和从数据库中读取数据的方法,支持多种数据类型(如字符串、哈希、列表、集合、有序集合等)。 3. 数据修改和删除:提供更新和删除数据的方法,可以更新单个键值对或批量操作。 4. 事务和管道支持:提供事务和管道操作的方法,可以提高多个Redis命令的执行效率。 5. 分布式锁支持:提供实现分布式锁的方法,用于并发控制和资源竞争场景。 6. 发布订阅功能:提供发布订阅功能的方法,支持在多个客户端之间发布和接收消息。 7. 集群支持:提供连接Redis集群的方法,支持在多个Redis节点之间进行数据分布和负载均衡。 通过使用Python Redis工具类,开发人员可以更方便地操作Redis数据库,无需手动处理与Redis的连接、事务管理和数据格式转换等细节。同时,Python Redis工具类还提供了一些高级功能,如分布式锁和发布订阅等,可以满足不同的业务需求。 总之,Python Redis工具类是一种简化Redis操作的工具,可以提高开发效率和代码可读性,使开发人员能够更好地利用Redis进行数据存储和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值