WEB SQL Database即:本地的SQLite数据库,Html5将它本地话,使用的方式和方法和SQLite基本相同
一.WEBSQL Database用途
1.对于需要经常使用检的数据,将其从后台获取后,保存到web sql 数据库中,这样在下次使用的时候,就不需要到后台去检索,直接从web sql 数据库中去获取,从而减少对服务器的请求次数,优化前端的操作效率。
2.可以通过web sql 数据库来实现离线操作,在离线的状态下,我们依然能够查看先前查看过的数据,因为它们已经保存在websql数据库中,同事我们还能进行一些简单的其他操作,比如:写一封邮件,保存起来,等下次在线时接着编辑,或者写一篇日志,等到下次在线时接着编辑,从而使我们实现一些简单的离线办公。
二.WEBSQL Database的支持情况
Chrome 3.0及以上版本 支持
FireFox 暂不支持
IE 暂不支持
Opera 10.5及以上版本 支持
Safari 3.2及以上版本支持 支持
通过下面方法可以来判断浏览器是否支持
if (!window.openDatabase) {
alert('Databases are not supported in this browser.');
}
三.三大核心方法
1. openDatabase:这个方法使用现有数据库或创建新数据库创建数据库对象
2. transaction:这个方法允许我们根据情况控制事务提交或回滚。
3. executeSql:这个方法用于执行真实的SQL查询。
四.三大核心方法的使用
1. openDatabase():创建数据库
var db= openDatabase(数据库名,版本,数据库描述,数据库大小);
eg: var db= openDatabase(“myTestDB”,”1.0”,”我的测试数据库”,10*1024,[回调函数(可以没有)]);
注:该方法返回创建后的数据库的访问对象,如果该数据库不存在,则创建该数据库。
2. transaction():访问数据库,要借用transaction()方法,执行事务处理,防止在对数据库进行访问及执行有关操作的时候受到外界打扰。
(1)创建一个数据表test
db.transaction(function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTStest (id int UNIQUE, title TEXT, content TEXT)");
});
(2)执行新增
db.transaction(function(tx){
tx.executeSql("create table test (id , title)");
tx.executeSql("insert into test values(1,'ali1')");
tx.executeSql("insert into test values(2,'ali2',’哈哈哈哈’)");
alert(“成功插入两条数据”);
});
(3)执行查询
db.transaction(function(tx){
tx.executeSql("select * from test",[],function(tx,result){
for(var i=0;i<result.rows.length;i++){
var testObj=result.rows.item(i);
alert(testObj.id+”------”+testObj.title);
}
});
});