
- 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 例項,並向其傳遞了一個 JSON 檔案,我們的資料將儲存在那裡。現在是時候將專案插入到我們的資料庫中了。資料應為 Python 字典格式。
語法
要插入專案,可以使用insert() 方法,其語法如下:
db.insert({'type1': 'value1', 'type2': 'value2', 'typeN': 'valueN'})
我們也可以先建立一個字典,然後使用 insert() 方法將資料插入到我們的資料庫中。
data_item = {'type1': 'value1', 'type2': 'value2', 'typeN': 'valueN' } db.insert(data_item)
執行上述命令後,insert() 方法將返回新建立物件的 ID。並且,我們的 JSON 檔案將如下所示:
{"_default": {"1": {"type1": "value1", "type2": "value2", "typeN": "valueN"}}}
檢視上表條目:'default' 是表名,'1' 是新建立物件的 ID,values 是我們剛剛插入的資料。
示例:插入單個專案
讓我們透過示例來理解上述概念。假設我們有一個數據庫,其中包含學生資訊,顯示學號、姓名、分數、科目和地址。以下是資料庫中儲存的資訊:
[ { "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":"oracle", "address":"benglore" } ]
在上述資料庫中,如果要插入新的學生記錄(即單個專案),請使用以下命令:
db.insert({ 'roll_number': 6, 'st_name':'jim', 'mark':300, 'subject':'sql', 'address':'pune' })
它將返回新建立物件的 ID:
6
讓我們再輸入一條記錄:
db.insert({ 'roll_number': 7, 'st_name':'karan', 'mark':290, 'subject':'NoSQL', 'address':'chennai' })
它將返回新建立物件的 ID:
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":"oracle", "address":"benglore" }, { "roll_number":6, "st_name":"jim", "mark":300, "subject":"sql", "address":"pune" }, { "roll_number":7, "st_name":"karan", "mark":290, "subject":"NoSQL", "address":"chennai" } ]
您可以觀察到它在 JSON 檔案中添加了兩個新的資料項。
示例:一次插入多個專案
您也可以一次在 TinyDB 資料庫中插入多個專案。為此,您需要使用insert_multiple() 方法。讓我們來看一個例子:
items = [ {'roll_number': 8, 'st_name': 'petter', 'address': 'mumbai'}, {'roll_number': 9, 'st_name': 'sadhana', 'subject': 'SQL'} ] db.insert_multiple(items)
現在,使用 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":"oracle", "address":"benglore" }, { "roll_number":6, "st_name":"jim", "mark":300, "subject":"sql", "address":"pune" }, { "roll_number":7, "st_name":"karan", "mark":290, "subject":"NoSQL", "address":"chennai" }, { "roll_number":8, "st_name":"petter", "address":"mumbai" }, { "roll_number":9, "st_name":"sadhana", "subject":"SQL" } ]
您可以觀察到它在 JSON 檔案中添加了兩個新的資料項。在新增最後兩個專案時,您也可以跳過資料項中的一些鍵值(就像我們所做的那樣)。我們跳過了“mark”和“address”。
廣告