HTML5深入学习之 WebSQL 数据库
概述
WebSQL 并不是 HTML5规范的一部分,而是一个独立的规范,它可以用来做一些离线应用
核心API
- openDatabase() => 用来打开或创建数据库(没有时则创建,有则打开)
- transaction() => 这个方法可以控制一个或多个事务,以及基于这种情况提交或者回滚
- executeSql() =>用于执行实际的 SQl 查询
判断浏览器是否支持该项功能
这个功能可以在最新版的 chrome, Safari 和 Opera
if (window.openDatabase) {
// 操作 web SQL
} else {
alert('当前浏览器不支持 webSQL !!!');
}
打开数据库
/**
* 打开或创建数据库
* @param1 数据库名称
* @param2 版本号
* @param3 描述
* @param4 数据库大小
* @param5 回调函数
*/
var database = openDatabase('stu', '1.0', '学生表', 1024*1024, function () {});
开启一个事务
// 开启事务
database.transaction(function (sql) {
// 在这里操作数据库的增删该查
});
新建表格
sql.executeSql(
'create table duxiu(id int, name text)',
[],
function () {
alert('创建成功');
},
function () {
alert('创建失败');
}
);
插入一条数据
sql.executeSql(
// ? => 占位符
'insert into duxiu (id, name) values (?, ?)',
[2, '张三'],
function () {
alert('插入一条数据成功');
},
function () {
alert('插入一条数据失败');
}
);
修改数据
sql.executeSql(
'update duxiu set name = ?, id = ? where rowid = ?',
['王五', 3, 3],
function () {
alert('修改成功');
},
function () {
alert('修改失败');
}
);
查找数据
我这里是将数据查找出来并且显示到了表格中
sql.executeSql(
'select * from duxiu',
[],
function (sql, res) {
// console.log(res);
var data = res.rows;
console.log(data);
// console.log(data.length);
var table = document.createElement('table');
document.querySelector('div').appendChild(table);
for (var i = 0; i < data.length; i++) {
var tr = document.createElement('tr');
table.appendChild(tr);
tr.innerHTML = '<td>' + data[i].id + '</td>';
tr.innerHTML += '<td>' + data[i].name + '</td>';
}
alert('查找成功');
},
function () {
alert('查找失败');
}
);
删除数据
sql.executeSql(
'delete from duxiu where id = ?',
[1], // 参数
function () {
alert('删除数据成功');
},
function () {
alert('删除数据失败');
}
);
删除表格
sql.executeSql(
'drop table duxiu',
[],
function () {
alert('删除表成功');
},
function () {
alert('删除表失败');
}
);
那么,是不是每个人都想过有没有删除数据库的方法呢? 反正我是想了并且去查了,答案是 没有!!!!!!!!
HTML5深入学习之 WebSQL 数据库的更多相关文章
- 数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇
HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心目中的产品方向,接着就朝这个方向慢慢打 ...
- (转)HTML5开发学习(3):本地存储之Web Sql Database
原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(3):本地存储之Web Sql Data ...
- HTML5 例子学习 HT 图形组件
HTML5 例子学习 HT 图形组件 HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心 ...
- H5操作WebSQL数据库
HTML代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...
- 数百个 HTML5 例子学习 HT 图形组件 – 3D建模篇
http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...
- 数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇
http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...
- 数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇
<数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇>一文让读者了解了 HT的 2D 拓扑图组件使用,本文将对 HT 的 3D 功能做个综合性的介绍,以便初学者可快速上手使用 HT ...
- HTML5 CSS3学习
HTML5 CSS3学习 :http://www.1000zhu.com/course/css3/ HTML5 相关书籍: http://www.html5cn.com.cn/news/gdt/2 ...
- (转)HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage
原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(2):本地存储之localStorage ...
随机推荐
- MySql数据库中的datediff函数
MySql数据库中的datediff函数:主要是用来返回两个日期之间相隔的天数 一半情况下是大日期在前,小日期在后的 这样写也是能够运行的 要注意查询结果:
- 五个goland进行go开发的小技巧
五个goland进行go开发的小技巧 本文译自5 Tips To Speed Up Golang Development With IntelliJ Or Goland 确实很实用. 1. 实现int ...
- Anaconda3(5-2)程序编辑器 win10下PyCharm安装及配置Pytorch流程
由于破解和付费问题,不推荐.优先用自带的spyder Win10 下PyCharm安装流程:(1)官网:https://www.jetbrains.com/pycharm/download/#sect ...
- jQuery的核心对象、原型对象、静态方法、动态方法
什么叫jQuery的核心对象? $ $===jQuery 什么叫jQuery的原型对象? $.fn $.fn===$.prototype 什么叫静态方法? 在构造函树上定义的方法,静态方法通过构造函数 ...
- python paramiko与linux的连接
两种使用paramiko连接到linux服务器的代码 方式一: 1 ssh = paramiko.SSHClient() 2 ssh.set_missing_host_key_policy(param ...
- ZROI 暑期高端峰会 A班 Day2 线性代数
高斯消元 很普及组,不讲了 当主元没有逆的时候可以辗转相除. 如果也没有带余数除法--没救了 逆矩阵 我们定义矩阵 \(A\) 的逆矩阵为 \(A^{-1}\),满足 \(AA^{-1}=A^{-1} ...
- 大数据-使用Hive导入10G数据
前言 Hadoop和Hive的环境已经搭建起来了,开始导入数据进行测试.我的数据1G大概对应500W行,MySQL的查询500W行大概3.29秒,用hive同样的查询大概30秒.如果我们把数据增加到1 ...
- Windows远程桌面连接Debian
参考 https://portal.databasemart.com/kb/a457/how-to-install-desktop-environment-and-xrdp-service-in-de ...
- springboot修改页面不用重启的设置(idea)
1) “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project ...
- c# 异步调用(异步模式,基于事件)
c# 异步调用之异步模式Func<string, IImageRequest, string> downloadString = (address, req) => { var cl ...