有哪些网站的搜索引擎,wordpress videopro汉化,推广平台网站,太原网络营销外包简介
上一篇文章我们介绍了SQLAlchemy 的安装和基础使用#xff0c;本文我们来详细介绍一下如何使用SQLAlchemy的query()方法来高效的查询我们的数据。
创建模型
我们可以先创建一个可供我们查询的模型#xff0c;也可以复用上一篇文章中我们创建的模型#xff0c;代码如…
简介
上一篇文章我们介绍了SQLAlchemy 的安装和基础使用本文我们来详细介绍一下如何使用SQLAlchemy的query()方法来高效的查询我们的数据。
创建模型
我们可以先创建一个可供我们查询的模型也可以复用上一篇文章中我们创建的模型代码如下
from sqlalchemy import Column, String, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engineBase declarative_base()
engine create_engine(mysqlpymysql://root:rootlocalhost:3306/apptest, echoTrue)class Player(Base):__tablename__ playerid Column(Integer, primary_keyTrue)name Column(String(20), defaultNone, nullableFalse, comment姓名)club Column(String(20), defaultNone, nullableFalse, comment俱乐部)country Column(Integer, default0, nullableFalse, comment国家)def __repr__(self):Name self.player_nameClub self.club_nameCountry self.country_namereturn fPlayer: name: {Name}, club: {Club}, country: {Country}Base.metadata.create_all(engine) # 通过此语句创建表创建实例
NewPlayer Player(nameSalah, clubLiverpool, countryEygpt)创建会话
在使用 SQLAlchemy 进行查询之前我们需要先建立与数据库的连接。通常我们需要配置一个数据库引擎并创建一个会话对象。代码如下
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmakerengine create_engine(mysqlpymysql://root:rootlocalhost:3306/apptest, echoTrue)
Session sessionmaker(bindengine)
session Session()查询对象
query() 方法是 SQLAlchemy 中用于构建数据库查询的主要方式。我们可以通过传递模型类来创建查询对象然后使用链式方法来构建查询条件和操作。
以下是一个示例演示如何使用 query() 方法查询数据库中的数据
query_result session.query(Player).all()
for result in query_result:print(f查询结果为: {result})# [out]查询结果为: Player: name: Salah, club: Liverpool, country: Eygpt因为我们只写入了一个数据所以全部查询出来的数据也是只有一条数据当我们数据多起来之后我们可以进行更为复杂的查询添加更多条件。
返回第一个查询数据
first session.query(Player).first()
print(first)-----------
输出结果为
[out]查询结果为: Player: name: Salah, club: Liverpool, country: Eygpt高级查询
我们可以在SQLAlchemy中添加filter()条件实现高级查询示例如下
like操作符
query_result session.query(Player).filter(Player.name.like(%sa%))and操作符
query_result session.query.filter(and_(Player.name Salah, Player.id 1))除了使用and操作符我们也可以使用其他方式达到and操作符的效果比如添加多个filter()或者单个filter()中使用多个表达式示例如下
# 单个filter()中设置多个表达式
query_result session.query.filter(Player.name Salah, Player.id 1)# 使用多个filter()
query_result session.query.filter(Player.name Salah).filter(Player.id 1)or操作符
query_result session.query.filter(or_(Player.name Salah, Player.id 1))in操作符
query_result session.query.filter(Player.club.in_([Liverpool, Chelsea]))not in操作符在in操作符的基础加上运算符’~’即可
query_result session.query.filter(~Player.country.in_([Eygpt, China]))总结
本文主要介绍了SQLAlchemy query()方法的使用介绍了基础查询以及高级查询的使用通过构建查询对象并应用过滤条件、排序和聚合操作我们可以轻松地从数据库中检索所需的数据。希望本文可以帮助到大家。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你