热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTML5中WebSql的学习小结-

本篇文章给大家带来的内容是介绍HTML5的WebSql学习小结,让大家了解一些WebSql的相关知识。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
本篇文章给大家带来的内容是介绍HTML5的Web Sql学习小结,让大家了解一些Web Sql的相关知识。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

在web系统或应用中,经常需要在本地存储一些数据,最早的在客户端存储数据用的是COOKIE(当然COOKIE主要还是用来保存用户的状态,业余可以干点保存本地数据的活),事实它并不适合用于保存客户端的本地数据,有以下几个原因:

1、每次请求服务器的时候都会增加不必要的流量消耗,因为每次请求服务器是都会讲COOKIE发送至服务器。

2、COOKIE的数据存储数据的规则,并不那么好用,结构也不够清晰。

3、最重要的一点是COOKIE的存储容量极小,每个COOKIE的长度不能超过4kb,超过时最早存储COOKIE的数据会被截掉超出的大小,显然是不太够用的。

随着HTML5的发展,后来又出现了localStorage与sessionStorage:

localStorage:永久存储,无论多久再次进入页面或者页面所在站点(可以使用clearI或removeItem方法删除),都能获取到存储的数据。

sessionStorage:临时存储,当关闭页面的时候会自动清除保存的数据。

事实上在平时工作或开发自己项目的时候,这两个用的是最多,至少目前这两个对象还是可以满足大部分项目本地存储的需求,虽然储存结构依然不够清晰,查询本地存储的数据上依然过于简单。

现在主要是总结一下,HTML5中新增的API-->Web Sql本地数据库技术,Web Sql数据库API实际上不是HTML5规范的组成部分,它是一个独立的规范,它可以使用与sql语言基本一致的语法做到本地数据库的增删改查,所以有后端开发经验的开发者很容易上手(需要指出的是,HTML5已经放弃了Web Sql Database数据库,该规范的指定工作已经停止),即便如此,基本上已经得到了大多数浏览器的支持。现在我们来介绍一下它的使用:

创建一个WebSql数据库:

openDatabase(数据库名,数据库版本号,描述,数据库大小,数据库创建成功的回调);
var mydb = openDatabase('myTeatDatabase',1,'this a Web Sql Database',1024*1024,function(){
     //数据库创建成功的回调,可省略
});

注:该方法返回一个数据库访问对象,当创建的数据库已经存在的时候,该 方法直接打开这个数据库。

创建一个事务:

mydb.transaction(function(tx){
    //该方法有一个事务对象参数供使用,该对象上有一系列为数据库增删改查的方法。
});

执行一段操作:

tx.executeSql(执行数据库操作的sql语句,参数,数据库操作执行成功的回调,数据库操作执行失败的回调);

具体的数据库操作:

创建一个数据表:

tx.executeSql('create table if not exists table1 (id unique,name)', [], function(tx, result) { 
	//成功回调
	},function(error){
         //失败回调
	});

注:这条语句的意思是创建一个数据表table1,当数据库中不存在这张表的时候,如果语句中不加上"if not exists"的话,当想要创建的数据表在数据库中已经存在的时候会报错。

删除一个数据表:

tx.exexcteSql('drop table table1',[],function(tx,result){
      //删除成功时的回调
      },function(error){ 
         //删除失败时的回调
      });

在数据表中添加一条数据:

tx.executeSql('insert into table1 (id,name) values (1,'小明')',[],function(tx,result){
            //添加数据成功时的回调
            },function(error){
                  //添加数据失败时的回调
            });

删除数据表中的一条或多条数据:

tx.executeSql('delete from table1 where id=1',[],function(tx,result){
//删除成功时的回调
},function(error){
    //删除失败时的回调
});

或:

tx.executeSql('delete from table1 where id=?',[1],function(tx,result){
//删除成功时的回调
},function(error){
    //删除失败时的回调
});

更新数据库表里面的一条数据:       

tx.executeSql('updata table1 set name="小红" where id=1',[],function(tx,result){
   //数据更新成功时的回调
   },function(error){
       //数据更新失败时的回调
   });

查询满足查询条件的数据:     

tx.executeSql('select * from table',[],function(tx,result){
//查询成功时的回调
},function(error){
  //查询失败时的回调
});

注:查询成功的时候可以通过回调函数中的result参数的rows属性使用查询返回的数据。

这个例子只是最简单的一种查询语句,如果有更多复杂查询的需求的话可以参考sql语句。

总结:

  简单的总结一下,其实这个数据库API是比较简单,所有的增删改查都需要创建一个事务,在事务对象上执行所有操作,目前该API暂时不支持删除整个数据库,但是我们可以通过删除那个数据库里面的所有数据表来清空该数据库,以达到类似效果。

以上就是HTML5中Web Sql的学习小结的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
author-avatar
博文_Andrew-属_394
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有