Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。

以下是规范中定义的三个核心方法:

  1. openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。
  2. transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。
  3. executeSql:这个方法用于执行实际的 SQL 查询。

openDatabase() 方法对应的五个参数说明:

①数据库名称            ②版本号            ③描述文本              ④数据库大小              ⑤创建回调

代码如下

var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

执行操作使用 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的表

在执行上面的创建表语句后,我们可以插入一些数据:

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, "啦啦啦")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "www.baidu.com")');
});

如何读取数据库中已经存在的数据:

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, "菜鸟教程")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "www.runoob.com")');
}); db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
var len = results.rows.length, i;
msg = "<p>查询记录条数: " + len + "</p>";
document.querySelector('#status').innerHTML += msg; for (i = 0; i < len; i++){
alert(results.rows.item(i).log );
} }, null);
});

最新文章

  1. js创建与追加元素
  2. 2.bootstrap练习笔记-轮播图
  3. Docker使用
  4. Lessons Learned 1(敏捷项目中的变更影响分析)
  5. linux tar.gz
  6. BM算法  Boyer-Moore高质量实现代码详解与算法详解
  7. SharePoint表单和工作流 - Nintex篇(三)
  8. android学习日记05--Activity间的跳转Intent实现
  9. Extjs 3.0 htmleditor实现插入图片功能
  10. 【Error】JavaWeb: 严重: Failed to initialize end point associated with ProtocolHandler [&amp;quot;http-bio-8080&amp;quot;]
  11. ArcEngine部分工作总结
  12. bzoj 3653 [湖南集训]谈笑风生
  13. java的overload与override
  14. Django使用cropbox包来上传裁剪图片
  15. Linux环境下使用tcpdump抓包与下载
  16. Redis学习-set数据结构
  17. Swift5 语言指南(十七) 反初始化
  18. Keep On Movin (贪心)
  19. Transaction2
  20. 接口测试——带token请求post接口(postman学习)

热门文章

  1. 看完48秒动画,让你不敢再登录HTTP网站(附完整示例代码)
  2. Python装饰器实现几类验证功能做法(续)
  3. PHP 底层的运行机制与原理 --转
  4. Vuejs实例-02Vue.js项目集成ElementUI
  5. Ultimus BPM 零售和快消品行业应用解决方案
  6. 第1 章MySQL 基本介绍
  7. 【Netty】ChannelHandler和ChannelPipeline
  8. CCS Debug Assertion Failed
  9. Scala note 1
  10. python编码问题大终结