TinyDB - 資料查詢處理



TinyDB - 儲存多個數據

我們已經討論瞭如何使用“insert”查詢將資料儲存到資料庫中。類似地,您可以使用“insert_multiple”查詢同時儲存多個數據項。以下是 TinyDB 中“insert_multiple”查詢的語法:

db.insert_multiple ([
   { key1 : value1, key2 : value2, ..., keyN : valueN},
   { key1 : value1, key2 : value2, ..., keyN : valueN }
])

讓我們通過幾個例子來演示“insert_multiple”查詢的工作方式。我們將使用在前面所有章節中使用過的相同的student資料庫。

示例 1

讓我們看看如何使用insert_multiple查詢在我們的'student'表中插入兩條學生記錄:

from tinydb import TinyDB, Query
db = TinyDB('student.json')
db.insert_multiple([
   {
      "roll_number":6,
      "st_name":"Siya",
      "mark":240,
      "subject":"NoSQL",
      "address":"pune"
   },
   {
      "roll_number":7,
      "st_name":"Adam",
      "mark":210,
      "subject":"oracle",
      "address":"Keral"
   }
])

它將顯示新儲存記錄的文件 ID:

[6, 7]

讓我們檢查新記錄是否已儲存到資料庫中?使用all()方法,如下所示:

db.all()

它將顯示儲存在給定表中的所有記錄:

[
   {
      "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":"lakan",
      "mark":200,
      "subject":"MySQL",
      "address":"mumbai"
   },
   {
      "roll_number":5,
      "st_name":"karan",
      "mark":275,
      "subject":"TinyDB",
      "address":"benglore"
   },
   {
      "roll_number":6,
      "st_name":"Siya",
      "mark":240,
      "subject":"NoSQL",
      "address":"pune"
   },
   {
      "roll_number":7,
      "st_name":"Adam",
      "mark":210,
      "subject":"oracle",
      "address":"Keral"
   }
]

您可以看到兩條新的學生記錄已儲存到資料庫中。

示例 2

讓我們看看如何使用insert_multiplefor迴圈同時將多個值插入到表中。使用以下程式碼:

db.insert_multiple({'roll_number': 10, 'numbers': r} for r in range(3))

它將返回新儲存記錄的文件 ID:

[8, 9, 10]

再次,使用all()方法驗證新記錄是否已儲存到資料庫中?

db.all()

它將獲取儲存在給定student表中的所有記錄:

[
   {
      "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":"lakan",
      "mark":200,
      "subject":"MySQL",
      "address":"mumbai"
   },
   {
      "roll_number":5,
      "st_name":"karan",
      "mark":275,
      "subject":"TinyDB",
      "address":"benglore"
   },
   {
      "roll_number":6,
      "st_name":"Siya",
      "mark":240,
      "subject":"NoSQL",
      "address":"pune"
   },
   {
      "roll_number":7,
      "st_name":"Adam",
      "mark":210,
      "subject":"oracle",
      "address":"Keral"
   },
   {
      "roll_number":10,
      "numbers":0
   },
   {
      "roll_number":10,
      "numbers":1
   },
   {
      "roll_number":10,
      "numbers":2
   }
]

注意最後三行。我們使用了insert_multiple方法和for迴圈插入了三個新條目。

廣告
© . All rights reserved.