本地數(shù)據(jù)庫html5,本地數(shù)據(jù)庫有哪些

html5怎么連接數(shù)據(jù)庫?

在HTML5之前的時代,如果需要在客戶端本地保存數(shù)據(jù),只能存儲在Cookie中,但是 Cookie使用過多會影響請求速度 ,所以并不適合存儲大量數(shù)據(jù)。

成都創(chuàng)新互聯(lián)是一家集成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站設(shè)計公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。

而在HTML5面世后,自帶了本地存儲和本地數(shù)據(jù)庫功能,更為便捷的管理客戶端數(shù)據(jù)。

HTML5提供了一個 基于瀏覽器端的數(shù)據(jù)庫 (WebSQL 、IndexedDB),我們可以通過JS API來在瀏覽器端創(chuàng)建一個本地數(shù)據(jù)庫,而且它還支持標(biāo)準(zhǔn)的SQL來執(zhí)行CRUD操作。

如何查看本地的數(shù)據(jù)庫呢?通過各個 瀏覽器的調(diào)試工具 可以查看。

在HTML5中操作本地數(shù)據(jù)庫都是通過JS API來實現(xiàn)的,很簡單,步聚如下:

1、通過 openDatabase 創(chuàng)建數(shù)據(jù)庫對象

2、通過 db.transaction 設(shè)置回調(diào)函數(shù)

3、通過 executeSql 方法執(zhí)行查詢

HTML5默認(rèn)情況下是無法連接遠(yuǎn)程數(shù)據(jù)庫的,一般都是通過API去操作數(shù)據(jù)庫。比如當(dāng)下流行的前后端完全分離,借助的就是RESTful來實現(xiàn)業(yè)務(wù)數(shù)據(jù)的CRUD操作。

怎么會問這個問題,HTML是不可能鏈接數(shù)據(jù)庫的,他是標(biāo)簽類語言,是用于構(gòu)建靜態(tài)頁面的,要想鏈接數(shù)據(jù)庫必須得支持網(wǎng)絡(luò)通信和IO的,顯然HTML并沒有支持,HTML只是用來設(shè)計頁面的。

我還以為我落伍了,h5連數(shù)據(jù)庫

HTML5存儲類型有什么區(qū)別?

1.本地存儲localstorage

存儲方式:

以鍵值對(Key-Value)的方式存儲,永久存儲,永不失效,除非手動刪除。

2.本地存儲sessionstorage

HTML5 的本地存儲 API 中的 localStorage 與 sessionStorage 在使用方法上是相同的,區(qū)別在于 sessionStorage 在關(guān)閉頁面后即被清空,而 localStorage 則會一直保存。

3.離線緩存(application cache)

本地緩存應(yīng)用所需的文件

使用方法:

①配置manifest文件

4.Web SQL

關(guān)系數(shù)據(jù)庫,通過SQL語句訪問

Web SQL 數(shù)據(jù)庫 API 并不是 HTML5 規(guī)范的一部分,但是它是一個獨(dú)立的規(guī)范,引入了一組使用 SQL 操作客戶端數(shù)據(jù)庫的 APIs。

5.IndexedDB

索引數(shù)據(jù)庫 (IndexedDB) API(作為 HTML5 的一部分)對創(chuàng)建具有豐富本地存儲數(shù)據(jù)的數(shù)據(jù)密集型的離線 HTML5 Web 應(yīng)用程序很有用。同時它還有助于本地緩存數(shù)據(jù),使傳統(tǒng)在線 Web 應(yīng)用程序(比如移動 Web 應(yīng)用程序)能夠更快地運(yùn)行和響應(yīng)。

html5,什么是本地存儲?什么是websql數(shù)據(jù)庫存儲

HTML5本地存儲——Web SQL Database

在HTML5 WebStorage介紹了html5本地存儲的Local Storage和Session Storage,這兩個是以鍵值對存儲的解決方案,存儲少量數(shù)據(jù)結(jié)構(gòu)很有用,但是對于大量結(jié)構(gòu)化數(shù)據(jù)就無能為力了,靈活大不夠強(qiáng)大。

Web SQL Database

我們經(jīng)常在數(shù)據(jù)庫中處理大量結(jié)構(gòu)化數(shù)據(jù),html5引入Web SQL Database概念,它使用 SQL 來操縱客戶端數(shù)據(jù)庫的 API,這些 API 是異步的,規(guī)范中使用的方言是SQLlite,你假如感興趣,可以來我的裙,一起學(xué)習(xí)交流下,同時也歡迎每一位大神,前面是二五七,中間是014,后面是001,組合起來就是了,非常歡迎真心久留學(xué)習(xí)的。

三個核心方法

但是我們學(xué)一下也沒什么壞處,而且能和現(xiàn)在W3C力推的IndexedDB做比較,看看為什么要廢棄這種方案。Web SQL Database 規(guī)范中定義的三個核心方法:

openDatabase:這個方法使用現(xiàn)有數(shù)據(jù)庫或新建數(shù)據(jù)庫來創(chuàng)建數(shù)據(jù)庫對象

transaction:這個方法允許我們根據(jù)情況控制事務(wù)提交或回滾

executeSql:這個方法用于執(zhí)行SQL 查詢

html5本地存儲更新數(shù)據(jù)庫sql 怎么寫

HTML5本地存儲——Web SQL Database

在HTML5 WebStorage介紹了html5本地存儲的Local Storage和Session Storage,這兩個是以鍵值對存儲的解決方案,存儲少量數(shù)據(jù)結(jié)構(gòu)很有用,但是對于大量結(jié)構(gòu)化數(shù)據(jù)就無能為力了,靈活大不夠強(qiáng)大。

Web SQL Database

我們經(jīng)常在數(shù)據(jù)庫中處理大量結(jié)構(gòu)化數(shù)據(jù),html5引入Web SQL Database概念,它使用 SQL 來操縱客戶端數(shù)據(jù)庫的 API,這些 API 是異步的,規(guī)范中使用的方言是SQLlite,悲劇正是產(chǎn)生于此,Web SQL Database規(guī)范頁面有著這樣的聲明

This document was on the W3C Recommendation track but specification work has stopped. The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path.

大概意思就是

這個文檔曾經(jīng)在W3C推薦規(guī)范上,但規(guī)范工作已經(jīng)停止了。目前已經(jīng)陷入了一個僵局:目前的所有實現(xiàn)都是基于同一個SQL后端(SQLite),但是我們需要更多的獨(dú)立實現(xiàn)來完成標(biāo)準(zhǔn)化。

也就是說這是一個廢棄的標(biāo)準(zhǔn)了,雖然部分瀏覽器已經(jīng)實現(xiàn),但。。。。。。。

三個核心方法

但是我們學(xué)一下也沒什么壞處,而且能和現(xiàn)在W3C力推的IndexedDB做比較,看看為什么要廢棄這種方案。Web SQL Database 規(guī)范中定義的三個核心方法:

openDatabase:這個方法使用現(xiàn)有數(shù)據(jù)庫或新建數(shù)據(jù)庫來創(chuàng)建數(shù)據(jù)庫對象

transaction:這個方法允許我們根據(jù)情況控制事務(wù)提交或回滾

executeSql:這個方法用于執(zhí)行SQL 查詢

openDatabase

我們可以使用這樣簡單的一條語句,創(chuàng)建或打開一個本地的數(shù)據(jù)庫對象

var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);

openDatabase接收五個參數(shù):

數(shù)據(jù)庫名字

數(shù)據(jù)庫版本號

顯示名字

數(shù)據(jù)庫保存數(shù)據(jù)的大小(以字節(jié)為單位 )

回調(diào)函數(shù)(非必須)

如果提供了回調(diào)函數(shù),回調(diào)函數(shù)用以調(diào)用 changeVersion() 函數(shù),不管給定什么樣的版本號,回調(diào)函數(shù)將把數(shù)據(jù)庫的版本號設(shè)置為空。如果沒有提供回調(diào)函數(shù),則以給定的版本號創(chuàng)建數(shù)據(jù)庫。

transaction

transaction方法用以處理事務(wù),當(dāng)一條語句執(zhí)行失敗的時候,整個事務(wù)回滾。方法有三個參數(shù)

包含事務(wù)內(nèi)容的一個方法

執(zhí)行成功回調(diào)函數(shù)(可選)

執(zhí)行失敗回調(diào)函數(shù)(可選)

db.transaction(function (context) {

context.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)');

context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');

context.executeSql('INSERT INTO testTable (id, name) VALUES (1, "Casper")');

context.executeSql('INSERT INTO testTable (id, name) VALUES (2, "Frank")');

});

這個例子中我們創(chuàng)建了一個table,并在表中插入三條數(shù)據(jù),四條執(zhí)行語句任何一條出現(xiàn)錯誤,整個事務(wù)都會回滾

executeSql

executeSql方法用以執(zhí)行SQL語句,返回結(jié)果,方法有四個參數(shù)

查詢字符串

用以替換查詢字符串中問號的參數(shù)

執(zhí)行成功回調(diào)函數(shù)(可選)

執(zhí)行失敗回調(diào)函數(shù)(可選)

在上面的例子中我們使用了插入語句,看個查詢的例子

db.transaction(function (context) {

context.executeSql('SELECT * FROM testTable', [], function (context, results) {

var len = results.rows.length, i;

console.log('Got '+len+' rows.');

for (i = 0; i len; i++){

console.log('id: '+results.rows.item(i).id);

console.log('name: '+results.rows.item(i).name);

}

});

完整示例

!DOCTYPE HTML

html

head

titleWeb SQL Database/title

/head

body

script type="text/javascript"

var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024);

var msg;

db.transaction(function (context) {

context.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)');

context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');

context.executeSql('INSERT INTO testTable (id, name) VALUES (1, "Casper")');

context.executeSql('INSERT INTO testTable (id, name) VALUES (2, "Frank")');

});

db.transaction(function (context) {

context.executeSql('SELECT * FROM testTable', [], function (context, results) {

var len = results.rows.length, i;

console.log('Got '+len+' rows.');

for (i = 0; i len; i++){

console.log('id: '+results.rows.item(i).id);

console.log('name: '+results.rows.item(i).name);

}

});

});

/script

/body

/html

最后

由于Web SQL Database規(guī)范已經(jīng)被廢棄,原因說的很清楚,當(dāng)前的SQL規(guī)范采用SQLite的SQL方言,而作為一個標(biāo)準(zhǔn),這是不可接受的,每個瀏覽器都有自己的實現(xiàn)這還搞毛的標(biāo)準(zhǔn)。這樣瀏覽器兼容性就不重要了,估計慢慢會被遺忘。不過Chrome的控制臺真心好用啊,神馬cookie、Local Storage、Session Storage、Web SQL、IndexedDB、Application Cache等html5新增內(nèi)容看的一清二楚,免去了很多調(diào)試代碼工作。

html5 可以打開本地數(shù)據(jù)庫嗎

不可以

數(shù)據(jù)庫一般裝在服務(wù)端,需要服務(wù)端語言,如php,asp等進(jìn)行操作

再說html連接本地數(shù)據(jù)庫也沒什么用啊

html5是什么干什么的

HTML的全稱是超文本標(biāo)記語言,是一種標(biāo)記語言。它包括一系列標(biāo)簽,可以統(tǒng)一網(wǎng)絡(luò)上文檔的格式,將分散的互聯(lián)網(wǎng)資源連接成一個邏輯整體。HTML是由HTML命令組成的描述性文本,可以解釋文字、圖形、動畫、聲音、表格、鏈接等。Html是一種用來描述網(wǎng)頁的語言。它被稱為超文本標(biāo)記語言,它是一種標(biāo)記語言。它包括一系列標(biāo)簽,可以統(tǒng)一網(wǎng)絡(luò)上文檔的格式,將分散的互聯(lián)網(wǎng)資源連接成一個邏輯整體。

分享題目:本地數(shù)據(jù)庫html5,本地數(shù)據(jù)庫有哪些
文章URL:http://m.kartarina.com/article28/dseeccp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器電子商務(wù)響應(yīng)式網(wǎng)站用戶體驗ChatGPT商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計
主站蜘蛛池模板: 无码国产色欲XXXX视频| 国产精品一区二区久久精品无码| 久久久久久国产精品无码下载| 黑人无码精品又粗又大又长| 亚洲国产成人片在线观看无码| 亚洲精品天堂无码中文字幕| 中文字幕无码第1页| 永久免费av无码网站大全| 亚洲AV无码一区东京热| 无码欧精品亚洲日韩一区夜夜嗨 | 日韩AV片无码一区二区不卡| 人妻精品久久无码区| 精品无码久久久久久久动漫 | 亚洲中文字幕久久精品无码APP| 久久人妻无码中文字幕| 中文字幕av无码不卡| 好爽毛片一区二区三区四无码三飞| 久久久久久久无码高潮| av无码精品一区二区三区四区| 亚洲成A∨人片在线观看无码| 久久中文字幕无码专区| 免费看无码自慰一区二区| 中日韩亚洲人成无码网站| 日韩人妻精品无码一区二区三区 | YW尤物AV无码国产在线观看| 人妻中文字系列无码专区| 中文字幕无码第1页| 国产精品一级毛片无码视频| 亚洲成A人片在线观看无码3D | 无码丰满熟妇juliaann与黑人| 亚洲va无码专区国产乱码| 久久亚洲精品无码播放| 久久亚洲AV无码西西人体| 超清无码一区二区三区| 办公室丝袜激情无码播放| 中文字幕无码久久人妻| 亚洲中文字幕久久精品无码APP| 久久精品?ⅴ无码中文字幕| 波多野结AV衣东京热无码专区| 惠民福利中文字幕人妻无码乱精品| 国产成人无码免费网站|