HTML5 API详解(17):Web SQL DataBase本地数据库
Web SQL Database是一個(gè)已經(jīng)廢棄的規(guī)范,但是鑒于除了IE和Firefox,其他瀏覽器都已經(jīng)實(shí)現(xiàn)了Web SQL Database,并且它還具有一些HTML5 Storage所不具有的特性,所以還是值得了解一下的。
它通過一套API來操縱客戶端的數(shù)據(jù)庫。Safari、Chrome、Opera等主流瀏覽器都已經(jīng)支持Web SQL Database。
在使用本地?cái)?shù)據(jù)庫的時(shí)候需要使用到sql語句,但這里不對sql語法進(jìn)行闡述,可先自行了解sql語法。
下面介紹怎樣創(chuàng)建打開數(shù)據(jù)庫,創(chuàng)建表,添加數(shù)據(jù),更新數(shù)據(jù),刪除數(shù)據(jù),刪除表 。
1.創(chuàng)建數(shù)據(jù)量students
//參數(shù)分別是:數(shù)據(jù)庫名 版本號(不用管),數(shù)據(jù)庫描述,設(shè)置數(shù)據(jù)大小,回調(diào)函數(shù)
var dataBase = openDatabase("student","1.0","學(xué)生表",1024*1024,function(){ });
//判斷是否創(chuàng)建成功
if(dataBase){
console.log('數(shù)據(jù)庫創(chuàng)建成功!');
}else{
console.log('數(shù)據(jù)庫創(chuàng)建失敗!');
}
2.創(chuàng)建數(shù)據(jù)表
//參數(shù)分別是:執(zhí)行的sql語句,插入的數(shù)據(jù),成功的回調(diào)函數(shù),失敗的回調(diào)函數(shù)
dataBase.transaction(function(tx){
tx.executeSql("create table if not exists stu(id ERAL UNIQUE,name TEXT)",[],function(tx,result){
console.log("stu表創(chuàng)建成功");
},function(tx,error){
console.log("stu表創(chuàng)建失敗");
});
});
3.插入記錄
//向數(shù)據(jù)表插入5條記錄
dataBase.transaction(function(tx){
for(var i=0;i<5;i++){
tx.executeSql("insert into stu(id,name)values(?,?)",[i,"lisha"+i],function(tx,res){
console.log('插入記錄成功');
},function(tx,error){
console.log('插入記錄失敗');
});
}
});
4.查詢數(shù)據(jù)
dataBase.transaction(function(tx){
tx.executeSql("select * from stu",[],function(tx,result){
for(var i = 0; i < result.rows.length; i++){
document.write('<b>' + result.rows.item(i)['name'] + '</b><br />');
}
},function(tx,error){
console.log('查詢失敗');
});
});
5.更新數(shù)據(jù)
dataBase.transaction(function(tx){
tx.executeSql("update stu set name = ? where id = 1",["黃超蘭"],function(tx,result){
console.log('更新成功');
},function(tx,error){
console.log('更新失敗');
});
});
6.刪除記錄數(shù)據(jù)
dataBase.transaction(function(tx){
tx.executeSql("delete from stu where id = ?",[3],function(tx,result){
console.log('刪除成功');
},function(tx,error){
console.log('刪除失敗');
});
});
7.刪除表,注意:沒有回調(diào)函數(shù)哦
dataBase.transaction(function(tx){
tx.executeSql("drop table stu") ;
});
總結(jié):本地?cái)?shù)據(jù)庫Web SQL DataBase的操作并不難,具體使用根據(jù)業(yè)務(wù)需求靈活運(yùn)用以上知識點(diǎn)即可了!當(dāng)然也要考慮到其兼容性問題。
總結(jié)
以上是生活随笔為你收集整理的HTML5 API详解(17):Web SQL DataBase本地数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【笔记】基于Faster R-CNN的除
- 下一篇: 2017年html5行业报告,云适配发布