首頁 > web前端 > H5教程 > 主體

HTML5關於Web SQL資料庫的詳細介紹

黄舟
發布: 2017-07-18 14:02:37
原創
2226 人瀏覽過

Web SQL資料庫API並不是HTML5規範的一部分,但它是一個獨立的規範,引進了一組使用SQL操作客戶端資料庫的API。

核心方法

  openDatabase-使用現有的資料庫或新建的資料庫建立一個資料庫物件

  transaction-能夠控制一個事物,以及基於這種情況執行提交或回滾

  executeSql-執行實際的SQL語句

開啟資料庫


//用openDatabase()方法打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
登入後複製

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

  1. #資料庫名稱

  2. 版本號

  3. ##描述文字

  4. 資料庫大小(位元組)

  5. #建立回呼(可選)

#第五個參數,建立回呼會在建立資料庫後被呼叫。

建立表格


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)');
});
登入後複製

插入資料


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.cnblogs.com")');
});
登入後複製

也可以使用動態值插入資料


//e_id 和 e_log 是外部变量,executeSql 会映射数组参数中的每个条目给 "?"
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]);
});
登入後複製

讀取資料

##

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.cnblogs.com")');
});
 
db.transaction(function (tx) {
   tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
      var len = results.rows.length;
      msg = "<p>查询记录条数: " + len + "</p>";
      document.querySelector(&#39;#status&#39;).innerHTML +=  msg;
    
      for (i = 0; i < len; i++){
          msg = "<p><b>" + results.rows[i].log + "</b></p>";
      }
    
   }, null);
});
登入後複製

刪除記錄

db.transaction(function (tx) {
    tx.executeSql(&#39;DELETE FROM LOGS  WHERE id=1&#39;);
});
登入後複製

刪除資料也可以是動態的

db.transaction(function(tx) {
    tx.executeSql(&#39;DELETE FROM LOGS WHERE id=?&#39;, [id]);
});
登入後複製

更新記錄

tx.executeSql("UPDATE CC SET logname=&#39;www.baidu.com&#39; WHERE id=2");
登入後複製

更新資料也可以是動態的

tx.executeSql("UPDATE CC SET logname=&#39;www.baidu.com&#39; WHERE id=?", [id]);
登入後複製

##請注意:刪除和修改不可以和建表語句放一個executeSql裡,最好都分開寫

以下是建好的資料庫

以上是HTML5關於Web SQL資料庫的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!