博客
关于我
九、Flask-SQLAlchemy数据的增删改查
阅读量:492 次
发布时间:2019-03-07

本文共 1035 字,大约阅读时间需要 3 分钟。

Flask-SQLAlchemy从零到hero:数据增删改的绝佳实践

上一篇文章已经完成了对SQLAlchemy与MySQL映射的配置,此处将深入探讨如何通过 SQLAlchemy 进行数据的增删改查操作。这对开发数据驱动型应用至关重要。

插入操作:快速入门

要想对数据库进行数据记录,可以按照以下步骤操作:

< pre class="has">Article(title='aaa', content='bbb')

db.session.add(article1)
db.session.commit()</ pre>

这里,`db.session.add(article1)` 将创建一条新记录,`db.session.commit()`则直接调用 `db.session.commit()` 将事务务记录提交到数据库。

查询操作:数据探索

想要从数据库中获取数据,可以通过以下方法:

< pre class="has">result = Article.query.filter(Article.title == 'aaa').first()

print(result.title)
print(result.content)</ pre>

这里,`Article.query.filter(Article.title == 'aaa')` 会生成一个带过滤条件的查询对象。调用 `first()` 方法将返回一个满足条件的记录。如果没有匹配记录,会返回 `None`。

更新操作:数据修正

如果需要修改已有记录,可以按以下步骤操作:

< pre class="has">article = Article.query.filter(Article.title == 'aaa').first()

article.title = '新的标题'
db.session.commit()</ pre>

这里,`article = Article.query.filter(Article.title == 'aaa').first()` 首先找到对应的记录,然后修改所需字段的值,最后调用 `db.session.commit()` 提交变更操作。

以上就是 SQLAlchemy 对数据库进行增删改查的基本操作流程,配合良好的数据库设计和事务管理,能够有效进行数据的复杂操作。通过合理使用 SQLAlchemy,可以极大提升代码可读性和效率,减少对数据库的直接操作。

转载地址:http://pxpcz.baihongyu.com/

你可能感兴趣的文章
NN&DL4.1 Deep L-layer neural network简介
查看>>
NN&DL4.3 Getting your matrix dimensions right
查看>>
NN&DL4.7 Parameters vs Hyperparameters
查看>>
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>