- 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 - 逻辑与
“逻辑与”运算符组合多个条件,如果所有条件都满足,则结果为真。TinyDB 逻辑与操作作用于数据库的两个查询。如果两个查询都为真,TinyDB 将获取所需数据。另一方面,如果任何一个查询为假,它将返回空值。
语法
TinyDB 逻辑与的语法如下:
db.search((Query().(query1) & (Query().(query2)
这里,field 表示我们要访问的数据部分。Query() 是我们名为student 的 JSON 表创建的对象。如果两个条件都满足,它将获取数据,否则将返回空值。
让我们来看几个例子,看看逻辑与是如何工作的。我们将使用我们在前面所有章节中使用过的相同的student 数据库。
示例 1
让我们看看当我们在“st_name=lakhan”和“subject=MYSQL”字段上应用逻辑与时,我们的 TinyDB 学生数据库返回什么:
from tinydb import TinyDB, Query
db = TinyDB('student.json')
db.search ((Query().st_name == 'lakhan') & (Query().subject == 'MySQL'))
此查询将仅获取学生姓名为“lakhan”且“subject”为“MySQL”的行。
[{
'roll_number': 4,
'st_name': 'lakhan',
'mark': 200,
'subject': 'MySQL',
'address': 'mumbai'
}]
示例 2
在这个例子中,让我们在“subject”和“roll_number”字段上应用逻辑与:
from tinydb import TinyDB, Query
student = Query()
db = TinyDB('student.json')
db.search((student.subject.search('M')) & (student.roll_number < 5))
此查询将获取所有 roll_number 小于“4”且“subject”以字母“M”开头的行。
[{
'roll_number': 4,
'st_name': 'lakhan',
'mark': 200,
'subject': 'MySQL',
'address': 'mumbai'
}]
广告