千家信息网

如何将数据库从服务器移到浏览器

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关如何将数据库从服务器移到浏览器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、链接数据库indexedDB没有创建数据库的概念,你可以直接链接数
千家信息网最后更新 2026年11月02日如何将数据库从服务器移到浏览器

这篇文章给大家分享的是有关如何将数据库从服务器移到浏览器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、链接数据库

  indexedDB没有创建数据库的概念,你可以直接链接数据库,如果你链接的数据库并不存在,那么会自动的创建一个数据库。看下面的这个例子。

Document

  我点了两次链接数据库,结果是这样的。

  在Application的indexedDB中我们发现多了一个东西。

  

  可以看到haha数据库已经成功建立了。

  indexedDB的open方法用来链接或者更新数据库,第一次创建也认为是一次更新。第一个参数是数据库的名字,第二个参数为版本号。第一次创建或者版本号发生改变时出发更新事件upgradeneeded,链接成功后出发success事件,链接出错时触发error事件。

二、建表和索引

Document

  我点了一下按钮结果时这样的。

  

  

  这里用到的两个核心方法时createObjectStore,和createIndex,这两个方法必须在数据库发生更新的事件中执行。

  createObjectStore方法可以理解成是创建表,接受第一个参数为一个字符串,表示表名,第二个参数是一个对象,指定主键相关的东西,{keyPath:'主键是哪个字段',autoIncrement:是否自增}。

  createIndex方法是创建索引的,接受三个参数,第一个是一个字符串,表示索引的名字,第二个参数表示字段名(谁的索引),第三个参数是个对象,具体自己查去。索引的作用是在查询操作时可以用到,不详讲,自行google吧。

三、添加数据

Document

  比较神奇的是你在建表的时候不需要指定你的字段,再添加数据时可以随便加。添加数据用到的是表对象的put方法,之前需要一个事务,从事务调个方法拿到存储对象(可以理解为表),具体看看例子就明白了。

四、查询数据

Document链接数据库添加数据查询

  查询操作主要用到了游标,这个说起来还比较多,没时间说了,自行google。还有很多的操作这里不讲了。给一个我封装的不是很好的简易库,仅供参考。

   一个简易库。

(function(window){'use strict';    window.dbUtil={    indexedDB :(window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB),    IDBTransaction :(window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction),    IDBKeyRange :(window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange),    IDBCursor : (window.IDBCursor || window.webkitIDBCursor || window.msIDBCursor),                idb:null,    dbName:"",    dbVersion:"",/**     * 初始化数据库,创建表和建立链接     * @param  {[type]} dbName    [description]     * @param  {[type]} dbVersion [description]     * @param  {[type]} storeObjs [description]     * @return {[type]}           [description]     */initDB:function (dbName,dbVersion,storeObjs){this.dbName = dbName;this.dbVersion = dbVersion;var dbConnect = this.indexedDB.open(this.dbName,this.dbVersion);var self = this;        dbConnect.onsuccess = function(e){            self.idb = e.target.result;            self.log('数据库链接成功!');                        }        dbConnect.onerror = function(e){            console.log(e)            self.log('数据库链接失败!');        }        dbConnect.onupgradeneeded = function(e){            self.idb = e.target.result;var ts = e.target.transaction;var oldVersion = e.oldVersion;var newVersion = e.newVersion;            self.log('数据库更新成功,旧的版本号为:'+oldVersion+",新的版本号为:"+newVersion);if(storeObjs){for(var k = 0,len=storeObjs.length;k

五、使用indexedDB的优缺点

  1、优点:可以将一些数据放到浏览器端,不用和服务器交互就可以实现一些功能,减轻服务器负担,加快响应速度。

  2、缺点:

  (1)不可靠:用户可能删处indexedDB,而且更换浏览器或者设备后这些数据就没了。

  2)不便于数据采集:有很多时候将数据存到服务器是为了获得一些数据,如果放到浏览器端,这些数据比较难获取。

 (3)无法共享:不同用户没办法共享数据,甚至时一个设备的不同浏览器也没法共享。

  所以,是否适用indexedDB要进行一下利弊权衡,不是有了indexedDB就啥也不管,一骨脑将数据放进去。

感谢各位的阅读!关于"如何将数据库从服务器移到浏览器"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

数据 数据库 链接 成功 更新 参数 版本 对象 索引 方法 浏览器 浏览 函数 错误 服务器 服务 存储 事件 事务 查询 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会副主任毛军 科技与互联网 平安科技 互联网 礼当家互联网科技 浩特互联网科技 狮子座互联网科技有限公司 百单互联网科技有限公司 科技创新互联网企业 睿民互联网科技 广州优美互联网科技 广州恒生互联网科技有限 互联网保险科技创业 科技赋能视角下互联网保险发展 群盈汇互联网科技有限公司 怎样加入科技互联网 郑州欣桑互联网科技有限公司 山东大美朱楼互联网科技有限公司 吉林省码上互联网科技电话 科技互联网行业投资研究 银川新华互联网科技学校原画 百单网互联网科技有限公司 网络科技有限互联网 互联网 的科技创新 齐家互联网科技有限公司 昭通云南众福互联网科技有限公司 广州新华互联网科技学校电竞方面 互联网科技的全部知识 互联网公司高科技产品 21世纪互联网科技成就 互联网科技股为什么大涨
0