首頁 web前端 H5教程 HTML5中Web Sql的學習小結

HTML5中Web Sql的學習小結

Nov 13, 2018 am 09:35 AM
html5

這篇文章帶給大家的內容是介紹HTML5的Web Sql學習小結,讓大家了解一些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資料庫,規範的指定工作已經停止),即便如此,基本上已經得到了大多數瀏覽器的支援。現在我們來介紹一下它的使用:

建立一個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語句。 總結:

###  簡單的總結一下,其實這個資料庫API是比較簡單,所有的增刪改查都需要建立一個事務,在交易物件上執行所有操作,目前該API暫時不支援刪除整個資料庫,但我們可以透過刪除該資料庫裡面的所有資料表來清空該資料庫,以達到類似效果。 ###

以上是HTML5中Web Sql的學習小結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

See all articles