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世界中从事数据库相关工作提供极大的便利。

目录
相关文章
|
5月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
672 7
|
6月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
6月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
531 0
|
10月前
|
XML 数据库 Android开发
Android数据库的使用(增删改查)
本文介绍了一个简单的数据库操作Demo,包含创建数据库、增删改查功能。通过5个按钮分别实现创建数据库、插入数据、删除数据、更新数据和查询数据的操作。代码结构清晰,适合初学者学习Android SQLite数据库基础操作。
305 5
|
10月前
|
数据库 Android开发 开发者
Android常用的room增删改查语句(外部数据库)
本文分享了将一个原生数据库驱动的单词APP重构为使用Room库的过程及遇到的问题,重点解决了Room中增删改查的常用语句实现。文章通过具体示例(以“forget”表为例),详细展示了如何定义实体类、Dao接口、Database类以及Repository和ViewModel的设计与实现。同时,提供了插入、删除、更新和查询数据的代码示例,包括模糊查询、分页加载等功能。此外,针对外部数据库导入问题,作者建议可通过公众号“计蒙不吃鱼”获取更多支持。此内容适合有一定Room基础的开发者深入学习。
309 0
Android常用的room增删改查语句(外部数据库)
|
6月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
470 158
|
6月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
6月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1118 152
|
6月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
860 156
|
6月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
471 156