h5本地?cái)?shù)據(jù)庫的示例分析
這篇文章主要為大家展示了“h5本地?cái)?shù)據(jù)庫的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“h5本地?cái)?shù)據(jù)庫的示例分析”這篇文章吧。
HTML5中,為了減輕服務(wù)器的負(fù)擔(dān)和提高Web應(yīng)用程序性能,將原本必須要保存在服務(wù)器上的數(shù)據(jù)轉(zhuǎn)為保存在客戶端本地??梢韵裨L問本地文件那樣輕松地對(duì)內(nèi)置數(shù)據(jù)庫進(jìn)行直接訪問。HTML5中內(nèi)置了兩種本地?cái)?shù)據(jù)庫,一種為SQLLite,一種為indexedDB。這次簡(jiǎn)單的簡(jiǎn)單的介紹下SQLLite。
在寫這篇文章時(shí),查詢了下 Web SQL Database(SQLLite),很不幸看到了這個(gè)
官網(wǎng)截圖
大概意思是 :此規(guī)范不再處于主動(dòng)維護(hù)中,Web應(yīng)用程序工作組不打算繼續(xù)維護(hù)。
SQLLite核心的方法有3個(gè)
openDatabase:這個(gè)方法用于創(chuàng)建數(shù)據(jù)庫對(duì)象并返回實(shí)例
transaction:這個(gè)方法用于控制事務(wù)提交或回滾
executeSql:這個(gè)方法用于執(zhí)行SQL 查詢(SQLLite 可以用sql來來執(zhí)行增刪改查)
openDatabase
例如,想要?jiǎng)?chuàng)建數(shù)據(jù)庫
//參數(shù)意義依次為 數(shù)據(jù)庫名字,版本,數(shù)據(jù)庫描述,數(shù)據(jù)庫大小
var db = openDatabase("myData", "1.0", "MyDataBase", 1024 * 100);
這樣就可以創(chuàng)建一個(gè)本地的Web SQL Database ,返回值 “db” 為這個(gè)數(shù)據(jù)庫的實(shí)例。
transaction&executeSql
transaction方法用以處理事務(wù),當(dāng)一條語句執(zhí)行失敗的時(shí)候,回滾整個(gè)事物。
executeSql方法用以執(zhí)行SQL語句,返回結(jié)果。
請(qǐng)看代碼
//打開一個(gè)事物,傳入一個(gè)包含事務(wù)內(nèi)容的一個(gè)方法
//在事物中使用executeSql執(zhí)行sql創(chuàng)建一張表
db.transaction(function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS message(name TEXT,content TEXT,time TET)", [],
function() {
//執(zhí)行成功回調(diào)函數(shù)(該參數(shù)可選傳與不傳)
}, function(error) {
//執(zhí)行失敗回調(diào)函數(shù)(該參數(shù)可選傳與不傳)
}),
//在表中插入一條數(shù)據(jù)
tx.executeSql("INSERT INTO message VALUES(?,?,?)", ["zhong", "web sql database", ''2017 ']);
})
執(zhí)行以上代碼在chrome控制臺(tái)中查看
執(zhí)行結(jié)果
成功插入一條數(shù)據(jù)?。?!
我們?cè)賮聿樵円幌逻@條數(shù)據(jù)
db.transaction(function(tx) {
tx.executeSql("SELECT * FROM message", [], function(tx, rs) {
//執(zhí)行成功回調(diào)函數(shù),返回執(zhí)行結(jié)果 rs ,我們將 rs 循環(huán)
for (var i = 0; i < rs.rows.length; i++) {
//打印出查詢的結(jié)果
console.log(rs.rows.item(i))
}
},
function(eror) {})
})
在chrome控制臺(tái)中查看
以上是“h5本地?cái)?shù)據(jù)庫的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!