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.