做者:心叶
时间:2018-04-30 15:44sql
前面说的IndexDB是索引型数据库,相对而言,不是真正的数据库,此处介绍的是关系型数据库,使用的方言是SQLlite。数据库
舒适提示:目前不少浏览器都支持,不过这倒是一个规范上被废弃的功能。数组
这里主要介绍的是下面三个方法:浏览器
1.openDatabase:这个方法使用现有数据库或新建数据库来建立数据库对象;函数
2.transaction:这个方法容许咱们根据状况控制事务提交或回滚;code
3.executeSql:这个方法用于执行SQL查询。对象
var dataBase = openDatabase("hobby", "1.0", "我的业余爱好储存数据库", 1024 * 1024, function() { console.log('数据库建立成功'); } );
1.第一个参数表明数据库名称;索引
2.第二个参数表明版本号,目前为1.0;事务
3.第三个参数表明对数据库的描述;字符串
4.第四个参数是用来设置数据的大小;
5.第五个参数是回调函数(可省略)。
openDatabase方法打开一个已经存在的数据库,若是数据库不存在,它还能够建立数据库
transaction方法用以处理事务,当一条语句执行失败的时候,整个事务回滚,方法包含三个参数:
1.包含事务内容的一个方法;
2.成功回调函数(可选);
3.失败回调函数(可选)。
dataBase.transaction(function(context){ context.executeSql('sql语句一'); context.executeSql('sql语句二'); context.executeSql('sql语句三'); },function(){ console.log('执行成功'); },function(){ console.log('执行失败'); });
上面一共执行了三条sql语句,其中任何一条sql执行若是遇到错误,整个事务都会回滚。
从上面的事务例子代码应该已经看出来,是在事务里面用executeSql方法来执行sql语句,其中有四个参数:
1.字符串类型的sql语句;
2.用以替换查询字符串中问号的参数,是一个数组;
3.执行成功回调函数(可选),返回两个参数:context和执行的结果;
4.执行失败回调函数(可选),context和失败的错误信息。
使用的SQL语言是SQLite,若是要建立表,执行对数据的增删改查,使用对应的sql语句就能够了。