Html5工作上用了有段時間了,但一直沒有系統的學習過,最近把Html5系統的擼了一遍,把一些學習到的知識陸續更新出來(每周末更新一周所得或者存貨),適合初學者看,如果你是大神………請飄過。
好,直奔主題
HTML5中,為了減輕服務器的負擔和提高Web應用程序性能,將原本必須要保存在服務器上的數據轉為保存在客戶端本地。可以像訪問本地文件那樣輕松地對內置數據庫進行直接訪問。HTML5中內置了兩種本地數據庫,一種為SQLLite,一種為indexedDB。這次簡單的簡單的介紹下SQLLite。
在寫這篇文章時,查詢了下 Web SQL Database(SQLLite),很不幸看到了這個
官網截圖
大概意思是 :此規范不再處于主動維護中,Web應用程序工作組不打算繼續維護。
已經要廢棄了………..這可是我寫的第一篇技術博客,哎…………含淚繼續寫,了解下總沒壞處!
SQLLite核心的方法有3個
-
openDatabase:這個方法用于創建數據庫對象并返回實例
-
transaction:這個方法用于控制事務提交或回滾
-
executeSql:這個方法用于執行SQL 查詢(SQLLite 可以用sql來來執行增刪改查)
openDatabase
例如,想要創建數據庫
//參數意義依次為 數據庫名字,版本,數據庫描述,數據庫大小 var db = openDatabase("myData", "1.0", "MyDataBase", 1024 * 100);
這樣就可以創建一個本地的Web SQL Database ,返回值 “db” 為這個數據庫的實例。
transaction&executeSql
transaction方法用以處理事務,當一條語句執行失敗的時候,回滾整個事物。
executeSql方法用以執行SQL語句,返回結果。
請看代碼
//打開一個事物,傳入一個包含事務內容的一個方法 //在事物中使用executeSql執行sql創建一張表 db.transaction(function(tx) { tx.executeSql("CREATE TABLE IF NOT EXISTS message(name TEXT,content TEXT,time TET)", [], function() { //執行成功回調函數(該參數可選傳與不傳) }, function(error) { //執行失敗回調函數(該參數可選傳與不傳) }), //在表中插入一條數據 tx.executeSql("INSERT INTO message VALUES(?,?,?)", ["zhong", "web sql database", ''2017 ']); })
執行以上代碼在chrome控制臺中查看
執行結果
成功插入一條數據!!!
我們再來查詢一下這條數據
db.transaction(function(tx) { tx.executeSql("SELECT * FROM message", [], function(tx, rs) { //執行成功回調函數,返回執行結果 rs ,我們將 rs 循環 for (var i = 0; i < rs.rows.length; i++) { //打印出查詢的結果 console.log(rs.rows.item(i)) } }, function(eror) {}) })
在chrome控制臺中查看
執行結果.png
結束!有興趣的小伙伴可以繼續深入研究下。希望對大家有幫助,不足請指教。
【相關推薦】
1. 免費h5在線視頻教程
2. HTML5 完整版手冊
3. php.cn原創html5視頻教程