flask下的MySQL增删改查

news/2025/9/20 15:42:55/文章来源:https://www.cnblogs.com/guixiangyyds/p/19102509

flask下的MySQL增删配置

添加数据

@app.route('/add')
def add_data():u = UserInfo()new_user1 = UserInfo(nickname='flask_test1', mobile='13888888888', signature='理想', create_time=datetime.now(), role_id=1)new_user2 = UserInfo(nickname='flask_test2', mobile='13999999999', signature='信念', create_time=datetime.now(), role_id=2)new_user3 = UserInfo(nickname='flask_test3', mobile='13777777777', signature='坚持', create_time=datetime.now(), role_id=1)new_user4 = UserInfo(nickname='flask_test4', mobile='13666666666', signature='奋斗', create_time=datetime.now(), role_id=2)u.add(new_user1)u.add(new_user2)u.add(new_user3)u.add(new_user4)return "添加数据成功"

查询数据


@app.route('/query1')
def query_data1():user_list = UserInfo.query.all()result = []for user in user_list:result.append(user.to_dict())return {'users': result}@app.route('/query2')
def query_data2():user=UserInfo.query.get(3)  #主键查询return {'users': user.to_dict()}@app.route('/query3')
def query_data3():first_user = UserInfo.query.first()  #查询第一条数据return {'users': first_user.to_dict()}@app.route('/query4')
def query_data4():user_list = UserInfo.query.filter(UserInfo.signature == '理想').all()  #条件查询result = []for user in user_list:result.append(user.to_dict())return {'users': result}@app.route('/query5')
def query_data5():userlist = UserInfo.query.filter_by(signature='信念').all()  #根据字段result = []for user in userlist:result.append(user.to_dict())return {'users': result}

删除数据

db.session.delete(delete_user)
db.session.commit()
@app.route('/delete1')
def delete_data():try:user = UserInfo.query.get(4)db.session.delete(user)db.session.commit()return "删除id为4的数据成功,使用db.session.delete()方法且已db.session.commit()提交(容易误删)"except Exception as e:return "删除失败,错误信息:(数据不存在或已经被(彻底)删除过一次)" + str(e)@app.route('/delete2')
def delete_data2():delete_user = UserInfo.query.get(3)delete_user.delete()return "删除id为3的数据成功,使用模型类的delete()方法(推荐),修改status状态为0,已提交"

更新数据

@app.route('/update1')
def update_data():u = UserInfo()update_user = u.query.get(3)update_user.status = 1u.update()return "更新id为3的数据成功,使用模型类的update()方法(推荐),将status状态改为1,已提交"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/908412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tips图解数组名与指针的关系

在图解前需要先了解一下数组退化为指针的相关内容,下面先陈述数组退化为指针的概念、本质、以及什么情况下数组会退化为指针,什么情况下不会 概念定义 "数组名退化为指针"是C/C++语言中的一个重要特性,指…

Confluent-Kafka-go 发布超过 1M 消息失败困难克服

Confluent-Kafka-go 发布超过 1M 消息失败困难克服2025-09-20 15:34 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…

mysql查看数据库大小,可以通过查询系统表来实现

要查看 MySQL 数据库的大小,可以通过查询系统表 information_schema.tables 来实现,以下是具体方法:查看所有数据库的大小 sql SELECT table_schema AS 数据库名, ROUND(SUM(data_length + index_length) / 1024 / …

TPP21206替代MPQ8633,12A电流同步降压DCDC

TPP21206是2.7V至16V输入,集成远端反馈和精确电流保护的同步降压变换器,稳态可持续输出12A的负载电流,广泛应用于服务器、交换机和光模块等应用中。TPP21206采用了思瑞浦自主研发的定频COT控制架构,在实现传统自适应…

组件重新装载时 useSWR 会发起请求

默认情况下,组件重新装载时 useSWR 会发起请求。这是 SWR "stale-while-revalidate" 设计哲学的一部分。 重新装载时的行为 function MyComponent() {const { data } = useSWR(/api/data, fetcher)// 组件卸…

kettle插件-kettle数据清洗插件,轻松处理脏数据

前面我们已经介绍了很多kettle插件,每个kettle插件都它的使用场景,我们在做数据同步ETL的过程中,势必要处理一些脏数据,把数据质量提高。今天我们一起来学习这这款数据清洗插件。 1、转换设计 1)生成记录 模拟数据…

Java 如何在 Excel 中添加超链接?使用 Spire.XLS for Java 轻松实现 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

中二

以下内容由 Gemini 2.5 Pro 生成好的,我们来对这个“核心引擎”进行详细的规格说明和功能解构。 “观察-推断-建模”引擎 (ODM Engine) 技术规格书 1. 核心架构 (Core Architecture) 该引擎并非一个单一功能的处理器,…

RocketMQ vs RabbitMQ vs Kafka - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:设计模式概述

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Seedream 4.0 简直绝了!

2025年,我们正站在AI内容创作的历史拐点。在这个AI图像工具满天飞的时代,我们经历了太多看起来很美的失望:Nano Banana生成的商品图总是细节失真,中文文字渲染混乱。 我体验了很多AI生图工具,我从未见过如此颠覆性…

财务管理NPV与IRR投资分析在IT行业案例

财务管理NPV与IRR投资分析在IT行业案例财务管理NPV与IRR投资分析在IT行业案例背景 真实IT服务器投资场景XT公司准备投资购买服务器硬件,用于AI部署DeepSeek R1 72b模型,我们使用NPV方法进行投资分析 联想(Len…

优化sigmoid

原代码 def sigmoid(x):result = 1 / (1 + np.exp(-x))return result问题:当-x值过大,会导致溢出错误 改进后代码 def improved_sigmoid(x):# 创建一个与输入x相同大小的空数组来存储结果result = np.zeros_like(x)#…

mysql查询死锁,mysql查询死锁方法

在 MySQL 中查询死锁可以通过以下方法实现: 查看最近一次死锁信息MySQL 会记录最近一次死锁的详细信息,可以通过以下命令查看: sql SHOW ENGINE INNODB STATUS; 在输出结果中,找到 "LATEST DETECTED DEADLOCK…

【IEEE出版、已连续5届稳定快速EI检索】第六届计算机工程与智能控制学术会议(ICCEIC 2025)

【IEEE出版 |已连续5届EI稳定检索】 第六届计算机工程与智能控制学术会议(ICCEIC 2025) 2025 6th International Conference on Computer Engineering and Intelligent Control 在这里看会议官网详情 会议时间:2025年…

软工第二次作业之个人项目——论文查重

论文查重系统 - 项目报告项目信息 详情课程 软件工程作业要求 个人编程作业项目目标 实现一个论文查重程序,规范软件开发流程,熟悉Github进行源代码管理和学习软件测试GitHub仓库 https://github.com/ymxc152/312300…

对实体类Id自增

我们首先需要明白 lambda 表达式 (item=>item.Id)↓ Expression 树 → 检查是属性访问↓ Expression.Assign → 拼出 “item.Id = index”↓ Compile() → 生成机器码委托 Action<T,int>↓ 放进 Concurr…

HarmonyOS之UIContext 与 UIAbility、WindowStage 的关系 - 指南

HarmonyOS之UIContext 与 UIAbility、WindowStage 的关系 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "C…

向上一步——当做事纠结的人停止决策内耗,你就是掌控自己的神!

向上一步——当做事纠结的人停止决策内耗,你就是掌控自己的神!重要选择的核心思维:批判性思维的完整实践指南 面对人生关键选择时,外界繁杂观点常让人陷入内耗,而批判性思维的核心是 “不盲从他人经验,只锚定自我…