Web 存储技术( 四 )


const readAll = () => { table = database.transaction('user').objectStore('user');? table.openCursor().onsuccess = () => { let cursor = event.target.result;? if (cursor) { console.log('数据遍历', cursor); cursor.continue(); } else { console.log('数据遍历完成'); } }; }关闭IndexedDB数据库连接
const closeDataBase = () => { database.close();}删除IndexedDB数据库前 , 须先关闭数据库连接
const deleteDataBase = () => { indexedDB.deleteDatabase('first_database');}六、WebSQL基本概念:并不是 HTML5 的规范  ,  只能算是一个独立的规范;使用WebSQL是完完全全的SQL 语句 , 使用SQL语句来操作客户端数据库;它一共有三个比较重要的概念 , 分别是:openDatabase 打开数据库 , 可以是使用现有数据库或者新建数据库;transaction 事务 , 所有的数据库都支持事务;executeSql 执行SQL语句 。
openDatabase(打开数据库)
相比于IndexedDB的概念稍微多一点 , 主要是有数据库名称、版本号(在IndexedDB里面版本号都是整数 , 但是在WebSQL里面它可以是小数)、描述文本(介绍数据库是干什么的)、数据库大小和创建回调(function , 只在第一次创建的时候才会调用) 。
const database = openDatabase('my_database', '1.0', 'first', 2 * 1024 * 1024, function() {?});Transaction(事务)

  • 创建表
const createTable = () => { database.transaction(function (content) {content.executeSql('CREATE TABLE IF NOT EXISTS USER (id unique, name)'); });}
  • 添加数据
const addData = https://www.isolves.com/it/cxkf/bk/2019-07-08/() => { database.transaction(function (content) {content.executeSql('INSERT INTO USER (id, name) VALUES (1, "Eric")'); });}
  • 查询数据
const searchData = https://www.isolves.com/it/cxkf/bk/2019-07-08/() => { database.transaction(function (content) {content.executeSql('SELECT * FROM USER'); });}
  • 更新数据
const updateData = https://www.isolves.com/it/cxkf/bk/2019-07-08/() => { database.transaction(function (content) {content.executeSql('UPDATE USER SET name='David' WHERE id=1'); });}
  • 删除数据库表
const deleteDataBase = () => { database.transaction(function (content) {content.executeSql('DROP TABLE USER'); }); }



推荐阅读