Flask-SQLAlchemy 基础用法

server/2025/1/16 21:18:11/

1 安装 Flask-SQLAlchemy

首先,确保您已安装 Flask 和 Flask-SQLAlchemy:

pip install Flask Flask-SQLAlchemy

2 创建 Flask 应用

创建一个基本的 Flask 应用结构:

python">from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'  # 使用 SQLite 数据库
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # 关闭信号追踪db = SQLAlchemy(app)

3 定义模型

使用 Flask-SQLAlchemy 定义数据模型。每个模型类都对应数据库中的一张表:

python">class User(db.Model):id = db.Column(db.Integer, primary_key=True)  # 主键username = db.Column(db.String(80), unique=True, nullable=False)  # 用户名email = db.Column(db.String(120), unique=True, nullable=False)  # 电子邮箱def __repr__(self):return f'<User {self.username}>'

4 创建数据库和表

在应用启动时创建数据库和表:

python">@app.before_first_request
def create_tables():db.create_all()  # 创建所有模型的表

5 添加数据

使用 Flask-SQLAlchemy 添加新数据:

python">@app.route('/add_user/<username>/<email>')
def add_user(username, email):new_user = User(username=username, email=email)db.session.add(new_user)  # 将新用户添加到会话db.session.commit()  # 提交会话return f'User {username} added!'

6 查询数据

使用 Flask-SQLAlchemy 查询数据:

python">@app.route('/users')
def get_users():users = User.query.all()  # 获取所有用户return {'users': [user.username for user in users]}  # 返回用户列表

7 更新数据

更新数据库中的数据:

python">@app.route('/update_user/<int:user_id>/<new_username>')
def update_user(user_id, new_username):user = User.query.get(user_id)  # 根据 ID 获取用户if user:user.username = new_username  # 更新用户名db.session.commit()  # 提交更改return f'User {user_id} updated to {new_username}.'return 'User not found.'

8 删除数据

删除数据库中的数据:

python">@app.route('/delete_user/<int:user_id>')
def delete_user(user_id):user = User.query.get(user_id)  # 根据 ID 获取用户if user:db.session.delete(user)  # 删除用户db.session.commit()  # 提交更改return f'User {user_id} deleted.'return 'User not found.'

9 运行应用

确保所有代码已保存,并运行 Flask 应用:

python">if __name__ == '__main__':app.run(debug=True)

总结
这就是 Flask-SQLAlchemy 的基础用法,包括:

  • 设置数据库连接
  • 定义模型
  • 创建数据库和表
  • 添加、查询、更新和删除数据

Flask-SQLAlchemy 提供了一个简单而强大的接口,使得在 Flask 应用中处理数据库操作变得更加方便。您可以根据项目的需求扩展这些基本功能。


http://www.ppmy.cn/server/158917.html

相关文章

VB.NET 正则表达式完全指南

VB.NET 正则表达式完全指南 VB.NET通过 System.Text.RegularExpressions 命名空间提供正则表达式支持。本指南将详细介绍VB.NET中正则表达式的使用方法、性能优化和最佳实践。 1. 基础知识 1.1 导入命名空间 Imports System.Text.RegularExpressions1.2 基本使用 Public C…

XML 解析器:深入解析与高效应用

XML 解析器&#xff1a;深入解析与高效应用 引言 XML&#xff08;可扩展标记语言&#xff09;作为一种重要的数据交换格式&#xff0c;被广泛应用于各种系统和平台中。为了有效地处理和解析XML数据&#xff0c;XML解析器发挥着至关重要的作用。本文将深入探讨XML解析器的原理…

【C盘清理】C盘清理工具、Unity缓存文件转移

链接: https://pan.baidu.com/s/1yE_7qF741o4NmBIsrd3XzA?pwdbwnn CCleaner 用于清理磁盘垃圾 勾选你要分析的选项&#xff0c;点击分析&#xff0c;分析完毕后&#xff0c;点击清理。 主要别清错东西了。&#xff08;可以不要勾选网络缓存、网络记录相关的选项&#xff0…

java 迪米特法则,原理、思想、工作流程、实现细节、稳定性、优缺点、应用场景等

迪米特法则&#xff08;Law of Demeter&#xff0c;LoD&#xff09;&#xff0c;也被称为“最少知识原则”&#xff0c;是一种指导面向对象设计的原则&#xff0c;旨在减少对象之间的耦合度。以下是对迪米特法则的详细解析。 1. 定义 迪米特法则指出&#xff1a;一个对象应该…

错误修改系列---基于RNN模型的心脏病预测(pytorch实现)

前言 前几天发布了pytorch实现&#xff0c;TensorFlow实现为&#xff1a;基于RNN模型的心脏病预测(tensorflow实现)&#xff0c;但是一处繁琐地方 一处错误&#xff0c;这篇文章进行修改&#xff0c;修改效果还是好了不少&#xff1b;源文章为&#xff1a;基于RNN模型的心脏病…

python循环结构(for)

目录 1.编写一个程序&#xff0c;遍历列表 [2, 4, 6, 8, 10, 11, 13, 15]&#xff0c;若找到第一个奇数则停止循环&#xff0c;并输出“找到了奇数”&#xff0c;否则在循环结束后输出“列表中没有奇数”。 2.编写程序&#xff0c;遍历整数列表 [3, 6, 7, 9, 12, 14, 15, 18,…

【记录】篡改猴插件下载网页m3u8视频

1.打开浏览器【管理扩展】页面&#xff08;edge://extensions/&#xff09;&#xff0c;打开开发人员模式 2.Edge浏览器添加篡改猴插件 3.下载需要的脚本 可以从篡改猴首页找下载网站 https://www.tampermonkey.net/scripts.php?localezh_CN 4.安装成功重启浏览器&#x…

MySQL JDBC编程

1.JDBC JDBC,JAVA Database Connectivity,Java数据库连接。是一种用于执行SQL语句的JAVA API,是Java中的数据库连接规范,这个API由java.sql.*,javax.sql.*包中的一些类和接口组成,为JAVA开发人员操作数据库提供了一个标准的API,为多种关系数据库提供统一访问方式 JDBC编程通过…