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 ...
随机推荐
- 云服务器ECS(Elastic Compute Service),知识点
资料 网址 什么是云服务器ECS https://help.aliyun.com/document_detail/25367.html?spm=a2c4g.11186623.6.544.4e1e376 ...
- python基础语法15 面向对象2 继承,多态,继承json模块中JSONEncoder,并派生出新的功能
继承 1.什么是继承? 继承是一种新建类的方式,新建的类称之为子类或派生类,继承的父类称之为基类或超类. - 在Python中,一个子类可以继承多个父类.(面试可能会问) - 在其它语言中,一个子类只 ...
- ubuntu下vi/vim 的基本用法
https://blog.csdn.net/weixin_37657720/article/details/80645991 :q! 不保存强制推出. :wq 保存并退出.
- [RN] React Native 自定义 底部 弹出 选择框 实现
React Native 自定义 底部选择框 实现 效果如图所示: 实现方法: 一.组件封装 CustomAlertDialog.js import React, {Component} from ' ...
- pcm混音的一种方式
转载 混音: Mix的意思是混音,无论在自然界,还是在音频处理领域这都是非常普遍的现象.自然界里你能同时听到鸟鸣和水声,这是因为鸟鸣和水声的波形在空气中形成了叠加,耳朵听到后能区分鸟鸣和水声这两种波形 ...
- 09-排序2 Insert or Merge (25 分)
According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...
- iptables 常用命令示例
一.常用命令示例: 1.命令 -A, --append 范例:iptables -A INPUT -p tcp --dport 80 -j ACCEPT 说明 :新增规则到INPUT规则链中,规则时接 ...
- iptables 表和链的对应关系
filter表 主要用于对数据包进行过滤,根据具体的规则决定是否放行该数据包(如DROP.ACCEPT.REJECT.LOG).filter 表对应的内核模块为iptable_filter,包含三个规 ...
- 【BigData】Java基础_创建一个订单类
需求描述 定义一个类,描述订单信息订单id订单所属用户(用户对象)订单所包含的商品(不定数量个商品对象)订单总金额订单应付金额: 总金额500~1000,打折85折 总金额1000~150 ...
- 阿里云 azkaban 发邮件的坑
azkaban : 是一个 任务调度平台 安装文档: https://azkaban.readthedocs.io/en/latest/getStarted.html 因为阿里云是禁止掉是STMP 2 ...