IndexedDB 資料庫新增資料
本文通過程式碼例項介紹一下如何如何為IndexedDB資料庫新增資料。
IndexedDB資料庫沒有表的概念,其中扮演表角色的是objectStore物件倉庫。
為資料庫新增資料,就是為資料庫中objectStore物件倉庫新增資料。
關於物件倉庫可以參閱createObjectStore() 建立物件倉庫一章節。
直接給出程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> let request = window.indexedDB.open("antzone", 1); request.onupgradeneeded = (ev) => { let db = ev.target.result; let objectStore = db.createObjectStore("students", { keyPath: "id" }); } request.onsuccess = (ev) => { let db = ev.target.result; if (!db.objectStoreNames.contains('students')) { let objectStore = db.createObjectStore("students", { keyPath: "id" }); } let transactionRequest = db.transaction(['students'], 'readwrite') .objectStore('students') .add({ id: 1, name: '張三', age: 18, email: 'ant@163.com' }); transactionRequest.onsuccess = function (event) { console.log('資料寫入成功'); }; transactionRequest.onerror = function (event) { console.log('資料寫入失敗'); } } </script> </head> <body> <p>程式碼演示如何為資料庫新增資料</p> </body> </html>
程式碼執行效果截圖如下:
上述程式碼為名稱為students的物件倉庫新增了以資料,分析如下:
(1).通過indexedDB.open方法開啟指定名稱資料庫,如果資料庫不存在,那麼建立對應資料庫。
(2).如果是建立資料庫,那麼會觸發upgradeneeded事件,然後在事件處理函式中建立對應的資料倉儲。
(3).如果資料庫已存在,開啟成功則觸發success事件,事件處理函式首先判斷是否存在對應的物件倉庫,如果不存在,則建立,並通過add方法為其新增資料,IndexedDB讀寫等操作都是在transaction事務中完成。
add方法:
此方法屬於IDBObjectStore物件,也就是物件倉庫物件。
語法結構:
[JavaScript] 純文字檢視 複製程式碼let request = objectStore.add(value, key);
引數解析:
(1).value:必需,要寫入的資料。
(2).key:可選,資料的主鍵,如果主鍵既不是指定資料的屬性,也不是自增長,那麼就需要人為指定。
更多內容不再介紹,具體可以參閱如下幾篇文章:
(1).事務可以參閱IDBTransaction 事務物件一章節。
(2).indexedDB.open可以參閱IndexedDB.open()開啟與新建資料庫一章節。
(3).關於主鍵可以參閱IndexedDB 資料庫主鍵一章節。
相關文章
- indexedDB 新增資料Index
- indexedDB 批量新增資料Index
- indexedDB 資料庫 索引Index資料庫索引
- indexedDB 資料庫版本Index資料庫
- IndexedDB 資料庫概述Index資料庫
- IndexedDB 資料庫用法Index資料庫
- indexedDB 刪除資料庫Index資料庫
- indexedDB 資料庫主鍵Index資料庫
- indexedDB 更新資料Index
- indexedDB 刪除物件倉庫所有資料Index物件
- 瀏覽器資料庫 IndexedDB(一) 概述瀏覽器資料庫Index
- indexedDB 查詢資料Index
- indexedDB 遍歷資料Index
- indexedDB 刪除資料Index
- IndexedDB.open()開啟與新建資料庫Index資料庫
- IndexedDB.open() 開啟與新建資料庫Index資料庫
- 瀏覽器資料庫 IndexedDB 入門教程瀏覽器資料庫Index
- 如何用flask在資料庫新增資料Flask資料庫
- SQLServer批量新增資料庫SQLServer資料庫
- MySQL8.0.18資料庫新增資料檔案MySql資料庫
- PHP中CakePHP新增資料庫PHP資料庫
- indexedDB 通過索引查詢資料Index索引
- 新增時--sqlserver資料庫跟蹤SQLServer資料庫
- 新增資料
- IndexedDB 建立資料庫時使用自增的Key 更新資料庫遇到的問題的一點記錄Index資料庫
- 向資料庫中插入一條新的資料,並返回新增資料的ID資料庫
- mysql資料庫新增和修改欄位MySql資料庫
- 資料庫登入留痕功能新增資料庫
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- zabbix6.2新增mysql資料庫監控MySql資料庫
- SRVCTL 刪除和新增資料庫服務資料庫
- Jaspersoft?Studio新增mysql資料庫配置步驟MySql資料庫
- 19c rac資料庫如何新增mgmt資料庫
- EMCC 13新增其它主機和資料庫資料庫
- 如何恢復在全備後新增了資料檔案的資料庫資料庫
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- 資料庫PostrageSQL-管理資料庫資料庫SQL