国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

HTML5 Web SQL 數據庫

2020-03-24 17:33:30
字體:
來源:轉載
供稿:網友

Web SQL 數據庫 API 并不是 HTML5 規范的一部分,但是它是一個獨立的規范,引入了一組使用 SQL 操作客戶端數據庫的 APIs。

如果你是一個 Web 后端程序員,應該很容易理解 SQL 的操作。

你也可以參考我們的 SQL 教程,了解更多數據庫操作知識。

Web SQL 數據庫可以在最新版的 Safari, Chrome 和 Opera 瀏覽器中工作。

以下是規范中定義的三個核心方法:

openDatabase:這個方法使用現有的數據庫或者新建的數據庫創建一個數據庫對象。transaction:這個方法讓我們能夠控制一個事務,以及基于這種情況執行提交或者回滾。executeSql:這個方法用于執行實際的 SQL 查詢。
打開數據庫

我們可以使用 openDatabase() 方法來打開已存在的數據庫,如果數據庫不存在,則會創建一個新的數據庫,使用代碼如下:

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

openDatabase() 方法對應的五個參數說明:

數據庫名稱數據庫大小

第五個參數,創建回調會在創建數據庫后被調用。

執行查詢操作

執行操作使用 database.transaction() 函數


var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');

上面的語句執行后會在 'mydb' 數據庫中創建一個名為 LOGS 的表。

在執行上面的創建表語句后,我們可以插入一些數據:


var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, )'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, www.www.survivalescaperooms.com )');

我們也可以使用動態值來插入數據:


var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); tx.executeSql('INSERT INTO LOGS (id,log) VALUES (?, ?)', [e_id, e_log]);實例中的 e_id 和 e_log 是外部變量,executeSql 會映射數組參數中的每個條目給 "?"。

以下實例演示了如何讀取數據庫中已經存在的數據:


db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, )'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, www.www.survivalescaperooms.com )');db.transaction(function (tx) { tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { var len = results.rows.length, i; msg = p 查詢記錄條數: + len + /p ; document.querySelector('#status').innerHTML += msg; for (i = 0; i len; i++){ alert(results.rows.item(i).log ); }, null);
db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, )'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, www.www.survivalescaperooms.com )'); msg = ' p 數據表已創建,且插入了兩條數據。 /p '; document.querySelector('#status').innerHTML = msg;db.transaction(function (tx) {tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { var len = results.rows.length, i; msg = p 查詢記錄條數: + len + /p ; document.querySelector('#status').innerHTML += msg; for (i = 0; i len; i++){ msg = p b + results.rows.item(i).log + /b /p ; document.querySelector('#status').innerHTML += msg;}, null);

以上實例運行結果如下圖所示:

刪除記錄使用的格式如下:

db.transaction(function (tx) { tx.executeSql('DELETE FROM LOGS WHERE id=1');

刪除指定的數據id也可以是動態的:

db.transaction(function(tx) { tx.executeSql('DELETE FROM LOGS WHERE id=?', [id]);

更新記錄使用的格式如下:

db.transaction(function (tx) { tx.executeSql('UPDATE LOGS SET log=/'www.w3cschool.cc/' WHERE id=2');

更新指定的數據id也可以是動態的:

db.transaction(function(tx) { tx.executeSql('UPDATE LOGS SET log=/'www.w3cschool.cc/' WHERE id=?', [id]);
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);var msg; db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, )'); tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, www.www.survivalescaperooms.com )'); msg = ' p 數據表已創建,且插入了兩條數據。 /p '; document.querySelector('#status').innerHTML = msg; db.transaction(function (tx) { tx.executeSql('DELETE FROM LOGS WHERE id=1'); msg = ' p 刪除 id 為 1 的記錄。 /p '; document.querySelector('#status').innerHTML = msg; db.transaction(function (tx) { tx.executeSql('UPDATE LOGS SET log=/'www.w3cschool.cc/' WHERE id=2'); msg = ' p 更新 id 為 2 的記錄。 /p '; document.querySelector('#status').innerHTML = msg; db.transaction(function (tx) { tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { var len = results.rows.length, i; msg = p 查詢記錄條數: + len + /p ; document.querySelector('#status').innerHTML += msg; for (i = 0; i len; i++){ msg = p b + results.rows.item(i).log + /b /p ; document.querySelector('#status').innerHTML += msg; }, null);

以上實例運行結果如下圖所示:

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

上一篇:HTML5 MathML

下一篇:HTML 基礎

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌宁县| 葵青区| 曲阳县| 广德县| 乐山市| 江都市| 永城市| 东兰县| 肇源县| 金溪县| 房产| 孝昌县| 印江| 城步| 杂多县| 泾阳县| 什邡市| 桂阳县| 陆河县| 哈尔滨市| 冷水江市| 蚌埠市| 定结县| 邵东县| 灵璧县| 濉溪县| 南康市| 施秉县| 孟村| 徐州市| 东台市| 平湖市| 漳浦县| 通河县| 东乌珠穆沁旗| 隆林| 道真| 富源县| 赤峰市| 卢氏县| 镇康县|