python插入获得id,返回id

 # 获得插入id
        cursor.execute("SELECT LAST_INSERT_ID()")
        id = cursor.fetchall()
        return id[0]['LAST_INSERT_ID()']
# 导入Flask类
import json
import os

from sqlalchemy import create_engine, text
import pymysql
import traceback

current_dir_path = os.getcwd()
# print(current_dir_path)
with open(f"{current_dir_path}/configs/setting.json", 'r') as file:
    datas = json.load(file)

class Db(object):
    # 连接库
    def base(database):
        engine = create_engine(
            f"mysql+pymysql://{datas['myuser']}:{datas['mypwd']}@{datas['myip']}:{datas['myport']}/{database}",
            # f"mysql+pymysql://root:root@127.0.0.1:3306/{database}",
            max_overflow=0,  # 超过连接池大小外最多创建的连接
            pool_size=5,  # 连接池大小
            pool_timeout=30,  # 池中没有线程最多等待的时间,否则报错
            pool_recycle=-1,  # 多久之后对线程池中的线程进行一次连接的回收(重置)
            isolation_level="READ UNCOMMITTED",  # 查询缓存更新,查询不缓存
        )
        # conn = engine.connect()
        conn = engine.raw_connection()
        return conn

    # 查询数据
    def query(conn,sql):
        cursor = conn.cursor(pymysql.cursors.DictCursor)
        cursor.execute(sql)
        res = cursor.fetchall()
        # print(sql)
        return res


    # 新增,table表,data数据
    def inserts(conn, table, data):
        # 组装数据
        sql = ''
        for v1 in data:
            if data[v1] != None:
                if sql == "":
                    sql = f"`{v1}`='{data[v1]}'"
                else:
                    sql = f"{sql},`{v1}`='{data[v1]}'"

        insert = f"INSERT INTO {table} set {sql}"
        print(insert)
        cursor = conn.cursor(pymysql.cursors.DictCursor)
        req = cursor.execute(insert)
        # 获得插入id
        cursor.execute("SELECT LAST_INSERT_ID()")
        id = cursor.fetchall()
        return id[0]['LAST_INSERT_ID()']

    # 修改,table表,data数据,where条件
    def updates(conn, table, data, where):
        # 组装数据
        sql = ''
        for v1 in data:
            if data[v1] != None:
                if sql == "":
                    sql = f"`{v1}`='{data[v1]}'"
                else:
                    sql = f"{sql},`{v1}`='{data[v1]}'"
        update = f"UPDATE {table} set {sql} where {where}"
        if table != 'state':
            print(update)

        cursor = conn.cursor(pymysql.cursors.DictCursor)
        req = cursor.execute(update)
        return 1

    #删除,table表,where条件
    def deletes(conn, table, where):
        delete = f"delete from {table} where {where}"
        print(delete)
        cursor = conn.cursor(pymysql.cursors.DictCursor)
        cursor.execute(delete)
        return 1

    # 关闭连接
    def close(conn):
        conn.close()

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大得369

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值