HTML 5 Web SQL操作客户端数据库
HTML 5 Web SQL操作客户端数据库
核心方法 本文将介绍规范中定义的三个核心方法:
1、openDatabase:这个方法使用现有数据库或创建新数据库创建数据库对象。
2、transaction:这个方法允许我们根据情况控制事务提交或回滚。
3、executeSql:这个方法用于执行真实的SQL查询。
打开数据库
openDatabase方法打开一个已经存在的数据库,如果数据库不存在,它还可以创建数据库,创建并打开数据库的语法如下:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
上面的openDatabase方法使用了下面五个参数:
1、数据库名(mydb)
2、版本号(1.0)
3、描述(Test DB)
4、数据库大小(2*1024*1024)
5、创建回调
最后一个,即第五个参数“创建回调”,在创建数据库时会调用它,但即使没有这个参数,一样可以在运行时创建数据库。
执行查询
执行查询使用database.transaction()函数,它只需要一个参数,下面是一个真实的查询语句:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); });
上面的查询将会在“mydb”数据库中创建一个LOGS表。
插入操作
为了向表中插入新记录,我们在上面的查询语句中添加了一个简单的SQL查询,修改后的语句如下:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")'); });
在插入新记录时,我们还可以传递动态值,如:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); tx.executeSql('INSERT INTO LOGS (id,log) VALUES (?, ?'), [e_id, e_log]; });
这里的e_id和e_log是外部变量,executeSql在数组参数中将每个项目映射到“?”。
读操作
如果要读取已经存在的记录,我们使用一个回调捕获结果,代码如下:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")'); }); db.transaction(function (tx) { tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { var len = results.rows.length, i; msg = "
Found rows: " + len + "
"; document.querySelector('#status').innerHTML += msg; for (i = 0; i < len; i++){ alert(results.rows.item(i).log ); } }, null); });
完整的例子
最后,我们在一个完整的HTML 5文档中展现前面讲述的内容,同时使用浏览器来解析这个HTML 5文档。
Log message created and row inserted.
Found rows: 2
foobar
logmsg
原文链接:http://www.tutorialspoint.com/html5/html5_web_sql.htm
HTML 5 Web SQL操作客户端数据库相关推荐
- HTML5开发 Web SQL Database 本地数据库
Web Database 介绍 Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome.Firefox.Oper ...
- HTML5 API详解(17):Web SQL DataBase本地数据库
Web SQL Database是一个已经废弃的规范,但是鉴于除了IE和Firefox,其他浏览器都已经实现了Web SQL Database,并且它还具有一些HTML5 Storage所不具有的特性 ...
- mysql一些基本sql操作_MySql数据库的一些基本操作---------------SQL语法
MySql数据库是比较常用的关系型数据库,操作用的是sql语句,下面来说一说MySql的一些基本操作 MySql数据库是一种C/S型的模式,即客户端/服务器端,对应到具体应用上,便是bin目录下的my ...
- Golang原生sql操作Mysql数据库增删改查
Golang要操作mysql数据库,首先需要在当期系统配置GOPATH,因为需要使用go get命令把驱动包下载到GOPATH下使用. 首先配置好你的GOPATH,执行以下命令,下载安装mysql驱动 ...
- sql操作mysql数据库_一些常用的操作MySQL数据库的sql语句
创建数据库:create database 数据库名; 删除数据库:drop datebase 数据库名; 查看数据库:show databases;(所有数据库) 使用数据库:use 数据库名;(之 ...
- MySQL数据库基础:安装+登入+SQL操作语句+数据库授权、备份、恢复+其他操作
MySQL简介 MySQL最流行的RDBMS(关系型数据库系统),特别是在WEB应用方面,表现特点 数据以表格的形式出现 每行为各种记录名称 每列为记录名称所对应的数据域 许多的行和列组成一张表单 若 ...
- mysql使用已有的数据库_使用SQL操作MySQL数据库
用SHOW显示已有的数据库 句法:SHOW DATABASES [LIKE wild] 如果使用LIKE wild部分,wild字符串可以是一个使用SQL的"%"和"_& ...
- jsch连接mysql_求用jsch网络工具包通过ssh连接远程oracle数据库并发送sql操作语句(数据库在unix上)java代码例子...
求用jsch网络工具包通过ssh连接远程oracle数据库(数据库在unix上)java代码例子:为何jsch发送:sqlplususer/pwd@service此命令,却没有结果返回啊.下面是代码: ...
- beego原生mysql查询_Beego基础学习(五)Golang原生sql操作Mysql数据库增删改查(基于Beego下测试)...
//控制器文件 package controllers import ("fmt" "github.com/astaxie/beego" "mypro ...
最新文章
- LB负载均衡集群 - NAT
- tensorflow训练打游戏ai
- Windows页目录自映射方案
- 窗体的扩展样式GWL_EXSTYLE:用于SetWindowLong
- 让智能家居产品操控更简单 快捷键来了
- 使用Outlook 2007连接到Exchange Server 2003、2007时出现没有默认网关的错误
- 计算机学报在线阅读,面向目标检测与姿态估计的联合文法模型计算机学报.pdf...
- 前端笔记-使用vue绑定id使得组件更加灵活(在使用echarts时常用)
- [framework] debuging
- Python进程间通信之管道Pipe
- JavaWeb:XML
- MyBatis源码阅读(四) --- SqlSession的创建过程
- Ucenter实现多个网站同步登录
- MP3格式的音乐怎么转换成WAV格式?小编教你一招
- gcc简介和命令行参数说明
- 怎么把腾讯QLV格式的“将夜”转换成MP4
- KEIL、uVision、RealView、MDK、KEIL C51区别比较
- 量化选股 聚宽学习获取财务数据
- 达梦客户端工具的使用
- 艾兰岛逻辑-触发区域
热门文章
- 抱歉,Xposed真的可以为所欲为——6.你的表白撤不回了(转载)
- php怎么改字的大小,请教如何改验证里面字的大小
- SATA学习之四 基本原理
- Okhttp3最佳使用方式
- 【20201231期AI简报】视觉系统的革新:嵌入式AI摄像头!还有跨年特别活动等你来哦...
- UE4在windows下打包IOS(虚拟机)
- 以太坊源码解析 - RLP(理论)
- FPS游戏实战数据集|yolov8训练模型导出|C/C++项目|驱动鼠标模拟人工|加密狗USB硬件虚拟化
- java实现比心_如何在java中制作比心图案?
- 湖南卫视淘金互联网:芒果TV估值或超60亿元