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'
}]
广告
© . All rights reserved.