我是靠谱客的博主 不安溪流,最近开发中收集的这篇文章主要介绍Python封装MySql最优雅的方式基于Python的上下文管理协议实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基于Python的上下文管理协议实现

import pymysql


class Connect:
    def __enter__(self):
        self.conn = pymysql.connect(
            host='localhost', port=3306,  # 连接的主机ip和端口
            user='root', password='1234',  # mysql用户,密码
            db='stu', charset='utf8'  # 连接的数据库,编码格式
        )
        self.cur = self.conn.cursor()
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):  # 函数结束完自动执行关闭连接
        self.cur.close()
        self.conn.close()


def find(sql):
    """ 无参数查询 """
    with Connect() as db:  # 打开Connect获取一个连接,执行完时自动关闭连接
        db.cur.execute(sql)
        result = db.cur.fetchall()
    return result


def find_para(sql, tup):  # 传入元组
    """ 有参数查询 """
    with Connect() as db:
        db.cur.execute(sql, tup)
        result = db.cur.fetchall()
    return result


def modify(sql):
    """ 无参增删改 """
    with Connect() as db:
        db.cur.execute(sql)
        db.conn.commit()


def modify_para(sql, tup):
    """ 有参增删改 """
    with Connect() as db:
        db.cur.execute(sql, tup)
        db.conn.commit()


# 调用封装方法示例
exc_sql = 'select * from user where userid=%s and username=%s'
print(find_para(exc_sql, (201, "小黄")))

最后

以上就是不安溪流为你收集整理的Python封装MySql最优雅的方式基于Python的上下文管理协议实现的全部内容,希望文章能够帮你解决Python封装MySql最优雅的方式基于Python的上下文管理协议实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部