摘要:先前在这篇文章有些创建操作介绍安装和操作以下为读深入理解对各种数据储存策略有四种基本功能类型添加读取修改删除增加数据读取数据读取数据也许是操作种类比较复杂的功能类型一个简单的例子一些常用语句可以链式调用查询模型在数据库中所有行指定行数返回返
先前在这篇文章有些创建操作介绍 Mysql安装和操作(flask)
以下为读《深入理解Flask》
增加数据 读取数据</>复制代码
对各种数据储存策略有四种基本功能类型:添加,读取,修改,删除
</>复制代码
读取数据也许是操作种类比较复杂的功能类型
一个简单的例子
</>复制代码
>>> users=User.query.all()
>>> users
[]
一些常用语句(可以链式调用)
</>复制代码
User.query.all ##查询User模型在数据库中所有行
User.query.h2mit(5).all ##指定行数返回
User.query.first() ##返回一行数据
User.query.filter(User.id == 2).first().name
User.query.get(2).name ##以主键获取,等效于上句
Post.query.paginate(2,10) ##返回2-10的对象,这个设计为了分页
User.query.filter_by(username="test").all() ##精确过滤
User.query.filter(User.id>1).all() ##user.id大于1的
##filter参数接受任何python表达式
User.query.order_by(User.username).all() ##正向排序
User.query.order_by(User.username.desc()).all() ##反向排序
##order_by控制排序方式
paginate-Add:假如命令page=Post.query.paginate(2,10)
</>复制代码
page.items ##返回这一页包含数据
page.page ##页数
page.pages ##总页数
page.has_prev OR page.has_next ##上一页或者下一页是否有数据
filter-Add: 一些复杂的SQL语句也可以转化
</>复制代码
User.query.filter(
User.username.in_(["test","test1"]),
User.password_hash==None
).first()
User.query.filter(
not_(User.password_hash==None)
).first() ##拥有密码的user
User.query.filter(
or_(not_(User.password_hash==None),User.id>1)
).first() ##组合调用
</>复制代码
SQLAlchemy中与None的比较会被当成与NULL比较
修改数据
</>复制代码
调用update方法更新数据
</>复制代码
>>> User.query.filter_by(username="test").update({
"password_hash":"test"
})
1
>>> db.session.commit()
删除数据
</>复制代码
>>> user=User.query.filter_by(username="test").first()
>>> db.session.delete(user)
>>> db.session.commit()
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/41002.html
摘要:另外,项目在单元测试中使用的是的内存数据库,这样开发者运行单元测试的时候不需要安装和配置复杂的数据库,只要安装好就可以了。而且,数据库是保存在内存中的,会提高单元测试的速度。是实现层的基础。项目一般会使用数据库来运行单元测试。 OpenStack中的关系型数据库应用 OpenStack中的数据库应用主要是关系型数据库,主要使用的是MySQL数据库。当然也有一些NoSQL的应用,比如Ce...
摘要:程序中最常用的莫过于关系型数据库了,也称数据库。对象是类的实例,表示程序使用的数据库。本文由发表于个人博客,采用自由转载保持署名非商用禁止演绎协议发布。非商业转载请注明作者及出处。本文标题为插件系列本文链接为更多阅读 简介 Web 开发中,一个重要的组成部分便是数据库了。Web 程序中最常用的莫过于关系型数据库了,也称 SQL 数据库。另外,文档数据库(如 mongodb)、键值对数据...
摘要:使用对象关系映射框架,它将低层的数据库操作指令抽象成高层的面向对象操作。在中,数据库使用指定。安装对数据库操作如何创建数据库操作连接为了创建初始数据库,调用方法来创建表和数据库您的数据库已经生成。最为常见的关系就是一对多的关系。 flask_sqlalchemy 使用对象关系映射(Object-Relational Mapper, ORM)框架,它将低层的数据库操作指令抽象成高层的面向...
摘要:下一篇文章第节查询条件设置是编程语言下的一款开源软件。提供了工具包及对象关系映射工具,使用许可证发行。在关闭连接时会自动进行事务提交操作。引入多条件查询时使用。由于上下文函数退出时会自动提交事务,所以无需显示的调用使新增生效。 下一篇文章:Python-SQLAlchemy:第2节:查询条件设置 SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系...
阅读 1949·2023-04-26 02:30
阅读 1208·2021-11-10 11:36
阅读 1557·2021-10-08 10:14
阅读 3701·2021-09-28 09:35
阅读 1694·2021-08-23 09:47
阅读 2716·2019-08-30 15:56
阅读 1617·2019-08-30 15:44
阅读 1970·2019-08-30 13:59