视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
WebSQL数据库的使用教程
2020-11-27 15:07:54 责编:小采
文档
 Web SQL数据库API并不是HTML5规范的一部分,但是它是一个的规范,引入了一组使用SQL操作客户端数据库的API。

核心方法

  openDatabase-使用现有的数据库或者新建的数据库创建一个数据库对象

  transaction-能够控制一个事物,以及基于这种情况执行提交或者回滚

  executeSql-执行实际的SQL语句

打开数据库

//用openDatabase()方法打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

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

  1. 数据库名称

  2. 版本号

  3. 描述文本

  4. 数据库大小(字节)

  5. 创建回调(可选)

第五个参数,创建回调会在创建数据库后被调用。

创建表

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)');
});

插入数据

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.cnblogs.com")');
});

也可以使用动态值插入数据

 db = openDatabase(, , , * *

读取数据

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.cnblogs.com")');
});
 
db.transaction(function (tx) {
 tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { var len = results.rows.length;
 msg = "<p>查询记录条数: " + len + "</p>";
 document.querySelector('#status').innerHTML += msg; 
 for (i = 0; i < len; i++){
 msg = "<p><b>" + results.rows[i].log + "</b></p>";
 }
 
 }, null);
});

删除记录

db.transaction(function (tx) {
 tx.executeSql('DELETE FROM LOGS WHERE id=1');
});

删除数据也可以是动态的

db.transaction(function(tx) {
 tx.executeSql('DELETE FROM LOGS WHERE id=?', [id]);
});

更新记录

tx.executeSql("UPDATE CC SET logname='www.baidu.com' WHERE id=2");

更新数据也可以是动态的

tx.executeSql("UPDATE CC SET logname='www.baidu.com' WHERE id=?", [id]);

注意:删除和修改不可以和建表语句放一个executeSql里,最好都分开写

以下是建好的数据库

下载本文
显示全文
专题