- TinyDB 教程
- TinyDB - 首页
- TinyDB - 简介
- TinyDB - 环境设置
- TinyDB - 插入数据
- TinyDB - 检索数据
- TinyDB - 更新数据
- TinyDB - 删除数据
- TinyDB - 查询
- TinyDB - 搜索
- TinyDB - where 子句
- TinyDB - Exists() 查询
- TinyDB - Matches() 查询
- TinyDB - Test() 查询
- TinyDB - Any() 查询
- TinyDB - All() 查询
- TinyDB - one_of() 查询
- TinyDB - 逻辑非
- TinyDB - 与逻辑运算
- TinyDB - 或逻辑运算
- TinyDB - 处理数据查询
- TinyDB - 修改数据
- TinyDB - Upsert 数据
- TinyDB - 检索数据
- TinyDB - 文档 ID
- TinyDB - 表格
- TinyDB - 默认表格
- TinyDB - 查询缓存
- TinyDB - 存储类型
- TinyDB - 中间件
- TinyDB - 扩展 TinyDB
- TinyDB - 扩展
- TinyDB 有用资源
- TinyDB - 快速指南
- TinyDB - 有用资源
- TinyDB - 讨论
TinyDB - 或逻辑运算
"或逻辑运算" 运算符组合多个条件,只有当其中一个条件满足时才评估为 True。TinyDB 或逻辑运算作用于数据库的两个查询。如果其中任何一个查询为 True,TinyDB 将获取所需数据。另一方面,如果两个查询都为 False,它将返回一个空白。
语法
TinyDB **或逻辑运算** 的语法如下所示:
db.search((Query().(query1) | (Query().(query2)
这里,**field** 表示我们要访问的数据部分。**Query()** 是我们名为 **student** 的 JSON 表格创建的对象。如果满足任何一个条件,它将获取数据,否则将返回空白。
让我们来看几个例子,看看它是如何工作的。我们将使用我们在前面所有章节中使用过的相同的 **student** 数据库。
示例 1
让我们看看当我们在 "st_name" 和 "subject" 字段上应用或逻辑运算并检查以下条件:"st_name=lakhan" 和 "subject=TinyDB" 时,我们的 TinyDB 学生数据库返回什么:
from tinydb import TinyDB, Query db = TinyDB('student.json') db.search ((Query().st_name == 'lakan') | (Query().subject == 'TinyDB'))
此查询将获取以下行:
[ { "roll_number":1, "st_name":"elen", "mark":250, "subject":"TinyDB", "address":"delhi" }, { "roll_number":4, "st_name":"lakhan", "mark":200, "subject":"MySQL", "address":"mumbai" }, { "roll_number":5, "st_name":"karan", "mark":275, "subject":"TinyDB", "address":"benglore" } ]
示例 2
在本例中,让我们在 "subject" 和 "roll_number" 字段上应用或逻辑运算:
from tinydb import TinyDB, Query db = TinyDB('student.json') db.search((student.subject.search('M')) | (student.roll_number < 5))
此查询将获取所有 "subject" 字段以字母 "M" 开头或 "roll_number" 小于 "5" 的行。
[ { "roll_number":1, "st_name":"elen", "mark":250, "subject":"TinyDB", "address":"delhi" }, { "roll_number":2, "st_name":"Ram", "mark":[ 250, 280 ], "subject":[ "TinyDB", "MySQL" ], "address":"delhi" }, { "roll_number":3, "st_name":"kevin", "mark":[ 180, 200 ], "subject":[ "oracle", "sql" ], "address":"keral" }, { "roll_number":4, "st_name":"lakhan", "mark":200, "subject":"MySQL", "address":"mumbai" } ]
广告