Flask后端开发-pymysql二次封装

这篇博客介绍了如何在Flask后端开发中使用pymysql进行数据库操作的二次封装,提供了调用代码示例,旨在简化SQL查询。博主谦虚表示代码可能不够完善,期待读者的反馈和建议。
摘要由CSDN通过智能技术生成

灵感来源-php 框架的sql查询操作

写的不好。。。欢迎指正!!!

先上调用的代码:

    db_result = db.update(
        table="platform_interface_list",
        field={
            "response": finally_resp,
            "status": status,
            "req_time": req_time,
            "resp_time": resp_time
        },
        where={"id =": inter_id}
    )
result = Db().insert(
        table="platform_business_list",
        field={
            "name": name,
            "description": description,
            "number": 0,
            "status": 2,
            "create_time": int(time.time()),
            "admin": admin
        }
    )
article = db.select(
        field=["a.`id`", "a.`title`", "a.`description`"],
        table="article a INNER JOIN member AS m ON a.mid = m.id",
        where=__where,
        other="ORDER BY a.id DESC limit {}, {}".format((int(page_num) - 1) * int(page_size), page_size)
    )

封装的代码:

import json
import sys

import pymysql

from configuration import *


class Db(object):
    def __init__(self):
        try:
            self.configure = pymysql.connect(
                host=DB_HOST,
                user=DB_USER,
                password=DB_PASSWORD,
                database=DB_DATABASE
            )
            self.begin = self.configure.cursor(pymysql.cursors.DictCursor)
        except pymysql.err.OperationalError:
            sys.exit()
        except pymysql.err.InternalError:
            sys.exit()

    # select查询语句
    def select(self, field: list, table: str, where: dict = None, other: str = ""):
        """
        :param field: 需要查询的字段名称 [str, str, ...]
        :param table: 表名,如需多表联查请在表名后面加上 => "table_name as `c` inner join table_name as b ..."
        :param where: 查询条件,非必填 => {"name =": "alex", " OR title like": "'%{}%'".format(title), ...}
        :param other: 其他跟在where后面的条件
        :return: ({"key": "value", ...} ...)
        """
        _field = ",".join(field)

        if where:
   
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值