Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例

简介: 这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。

首先,理解Flask-SQLAlchemy如何运行是必不可少的。Flask-SQLAlchemy是一个用于Flask的扩展,它简化了对SQLAlchemy的使用,它用更Pythonic的方式提供了SQLAlchemy的功能。SQLAlchemy本身是一个强大的关系数据库工具包和对象关系映射器,为Python开发者提供了全面的SQL支持和自定义Python类与数据库表之间的映射。

要在Flask中使用Flask-SQLAlchemy,我们需要安装它,可以使用pip进行安装:

pip install flask-sqlalchemy
​

接下来,我们看下如何使用Flask-SQLAlchemy在数据库中执行增删改查操作。

1.连接数据库:我们需要在Flask应用的配置中设置SQLAlchemy数据库URI,我们以SQLite为例:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
​

有了 db对象,你可以执行增删改查操作了。

2.定义模型:首先,让我们定义一个User模型。

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    email = db.Column(db.String(120), unique=True)
​

3.创建表:调用 db.create_all()创建表,如果表已存在,将不会再次创建。

db.create_all()
​

4.增加数据:

user = User(name='张三', email='zhangsan@example.com')
db.session.add(user)
db.session.commit()
​

5.查询数据:

users = User.query.all()  # 查询所有记录
user = User.query.filter_by(name='张三').first()  # 查询第一个名为"张三"的用户
​

6.修改数据:

user = User.query.get(1)  # 假设id为1的用户就是我们要修改的用户
user.name = '李四'
db.session.commit()
​

7.删除数据:

user = User.query.get(1)  # 假设id为1的用户就是我们要删除的用户
db.session.delete(user)
db.session.commit()
​

以上就是在Python和Flask-SQLAlchemy中进行数据库增删改查操作的示例。希望你现在对Flask-SQLAlchemy有了更好的理解。别忘了,真正的理解来自于实践,这些示例代码只是一个起点,尽可能去操练他们,探索他们的可能性。

这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。

目录
相关文章
|
10月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
1095 7
|
11月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
11月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
889 0
|
11月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1718 102
|
11月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
530 104
|
11月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
422 103
|
11月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
446 82
|
10月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
559 3
|
10月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
794 3
|
10月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
661 3

推荐镜像

更多