首頁  >  文章  >  web前端  >  HTML5關於Web SQL資料庫的詳細介紹

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

黄舟
黄舟原創
2017-07-18 14:02:372240瀏覽

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中文網其他相關文章!

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