HTML5本地存储之数据库

简述:

对于存储简单数据结构的数据,使用sessionStorage和localStorage就足以了,但对于处理复杂的关系型数据,就需要 HTML 5 的“Web SQL Database”API 接口登场啦。可以把它理解成一个Html5环境下可以用Js执行CRUD(增删查改)的Web数据库

三大核心方法:

  • openDatabase:使用现有数据库或创建新数据库创建数据库对象
  • transaction:控制事务提交或回滚
  • executeSql:执行真实的SQL查询
  • -

数据库打开创建删除操作

1.打开连接并创建数据库

var dataBase = openDatabase("student", "1.0", "学生表",
1024 * 1024, function () {
//do someting 
});

if (!dataBase) {
alert("数据库创建失败!");
} else {
alert("数据库创建成功"");
}

参数:

  • 1.数据库名称。
  • 2.版本号 目前为1.0。
  • 3.对数据库的描述。
  • 4.设置数据的大小。
  • 5.回调函数(可省)

2. 删除数据库

dataBase.transaction(function (tx) {
    tx.executeSql('drop database stu');
});

数据表创建与删除操作

1.创建数据表

dataBase.transaction( function(tx) {
    tx.executeSql(
        "create table if not exists stu (id REAL UNIQUE, name TEXT)",
        [],
        function(tx,result){ alert('创建stu表成功'); },
        function(tx, error){ alert('创建stu表失败:'+error.message);
        });
});

executeSql函数有四个参数:

  1. 表示查询的字符串,使用的SQL语言是SQLite
  2. 插入到查询中问号所在处的字符串数据
  3. 成功时执行的回调函数。返回两个参数:tx和执行的结果
  4. 一个失败时执行的回调函数。返回两个参数:tx和失败的错误信
    息。

2. 删除数据表:

dataBase.transaction(function (tx) {
    tx.executeSql('drop table stu');
});

数据表CRUD操作:

1.添加数据

dataBase.transaction(function (tx) {
    tx.executeSql("insert into stu (id, name) values(?, ?)",
    [id, '徐明祥'],
    function () { alert('添加数据成功'); },
    function (tx, error) { alert('添加数据失败: '+error.message);
    } );
});

2. 删除数据

dataBase.transaction(function (tx) {
    tx.executeSql(
    "delete from stu where id= ?",
    [id],
    function (tx, result) {},
    function (tx, error) {
            alert('删除失败: ' + error.message);
    });
});

3.查询数据

dataBase.transaction(function (tx) {
    tx.executeSql(
    "select * from stu", 
    [],
    function (tx, result) { //执行成功的回调函数},
    function (tx, error) {
        alert('查询失败: ' + error.message);
    } );
});

参数说明:

  • result是查询到的结果集,其中最重要的属性—SQLResultSetRowList 类型的 rows 是数据集的“行” 。
  • rows 有两个属性:length、item 。length代表总条数,item(num),可访问到具体的行。

4.更新数据

dataBase.transaction(function (tx) {
    tx.executeSql(
    "update stu set name = ? where id= ?",
    [“name,” “id”],
    function (tx, result) {},
    function (tx, error) {
        alert('更新失败: ' + error.message);
    });
});

学习参考博文:

Html5 学习系列(六)Html5本地存储和本地数据库:http://www.cnblogs.com/fly_dragon/p/3946012.html

HTML5本地存储之Database Storage篇:http://blog.csdn.net/hbcui1984/article/details/8471063

你可能感兴趣的:(HTML5,javascript,html5,数据库,存储)