溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5中Web Sql的操作方法

發布時間:2020-12-08 11:06:27 來源:億速云 閱讀:156 作者:小新 欄目:web開發

這篇文章主要介紹HTML5中Web Sql的操作方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在web系統或應用中,經常需要在本地存儲一些數據,最早的在客戶端存儲數據用的是cookie(當然cookie主要還是用來保存用戶的狀態,業余可以干點保存本地數據的活),事實它并不適合用于保存客戶端的本地數據,有以下幾個原因:

1、每次請求服務器的時候都會增加不必要的流量消耗,因為每次請求服務器是都會講cookie發送至服務器。

2、cookie的數據存儲數據的規則,并不那么好用,結構也不夠清晰。

3、最重要的一點是cookie的存儲容量極小,每個cookie的長度不能超過4kb,超過時最早存儲cookie的數據會被截掉超出的大小,顯然是不太夠用的。

隨著HTML5的發展,后來又出現了localStorage與sessionStorage:

localStorage:永久存儲,無論多久再次進入頁面或者頁面所在站點(可以使用clearI或removeItem方法刪除),都能獲取到存儲的數據。

sessionStorage:臨時存儲,當關閉頁面的時候會自動清除保存的數據。

事實上在平時工作或開發自己項目的時候,這兩個用的是最多,至少目前這兩個對象還是可以滿足大部分項目本地存儲的需求,雖然儲存結構依然不夠清晰,查詢本地存儲的數據上依然過于簡單。

現在主要是總結一下,HTML5中新增的API-->Web Sql本地數據庫技術,Web Sql數據庫API實際上不是HTML5規范的組成部分,它是一個獨立的規范,它可以使用與sql語言基本一致的語法做到本地數據庫的增刪改查,所以有后端開發經驗的開發者很容易上手(需要指出的是,HTML5已經放棄了Web Sql Database數據庫,該規范的指定工作已經停止),即便如此,基本上已經得到了大多數瀏覽器的支持?,F在我們來介紹一下它的使用:

創建一個WebSql數據庫:

openDatabase(數據庫名,數據庫版本號,描述,數據庫大小,數據庫創建成功的回調);
var mydb = openDatabase('myTeatDatabase',1,'this a Web Sql Database',1024*1024,function(){
     //數據庫創建成功的回調,可省略
});

注:該方法返回一個數據庫訪問對象,當創建的數據庫已經存在的時候,該 方法直接打開這個數據庫。

創建一個事務:

mydb.transaction(function(tx){
    //該方法有一個事務對象參數供使用,該對象上有一系列為數據庫增刪改查的方法。
});

執行一段操作:

tx.executeSql(執行數據庫操作的sql語句,參數,數據庫操作執行成功的回調,數據庫操作執行失敗的回調);

具體的數據庫操作:

創建一個數據表:

tx.executeSql('create table if not exists table1 (id unique,name)', [], function(tx, result) { 
	//成功回調
	},function(error){
         //失敗回調
	});

注:這條語句的意思是創建一個數據表table1,當數據庫中不存在這張表的時候,如果語句中不加上"if not exists"的話,當想要創建的數據表在數據庫中已經存在的時候會報錯。

刪除一個數據表:

tx.exexcteSql('drop table table1',[],function(tx,result){
      //刪除成功時的回調
      },function(error){ 
         //刪除失敗時的回調
      });

在數據表中添加一條數據:

tx.executeSql('insert into table1 (id,name) values (1,'小明')',[],function(tx,result){
            //添加數據成功時的回調
            },function(error){
                  //添加數據失敗時的回調
            });

刪除數據表中的一條或多條數據:

tx.executeSql('delete from table1 where id=1',[],function(tx,result){
//刪除成功時的回調
},function(error){
    //刪除失敗時的回調
});

或:

tx.executeSql('delete from table1 where id=?',[1],function(tx,result){
//刪除成功時的回調
},function(error){
    //刪除失敗時的回調
});

更新數據庫表里面的一條數據:       

tx.executeSql('updata table1 set name="小紅" where id=1',[],function(tx,result){
   //數據更新成功時的回調
   },function(error){
       //數據更新失敗時的回調
   });

查詢滿足查詢條件的數據:     

tx.executeSql('select * from table',[],function(tx,result){
//查詢成功時的回調
},function(error){
  //查詢失敗時的回調
});

注:查詢成功的時候可以通過回調函數中的result參數的rows屬性使用查詢返回的數據。

這個例子只是最簡單的一種查詢語句,如果有更多復雜查詢的需求的話可以參考sql語句。

以上是“HTML5中Web Sql的操作方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女