Web SQL資料庫API並不是HTML5規範的一部分,但它是一個獨立的規範,引進了一組使用SQL操作客戶端資料庫的API。
核心方法
openDatabase-使用現有的資料庫或新建的資料庫建立一個資料庫物件
transaction-能夠控制一個事物,以及基於這種情況執行提交或回滾
executeSql-執行實際的SQL語句
#開啟資料庫
//用openDatabase()方法打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
#openDatabase( ) 方法對應的五個參數說明:
資料庫名稱
#版本號
描述文字
資料庫大小(位元組)
#建立回呼(可選)
第五個參數,創建回調會在創建資料庫後被呼叫。
建立表格
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")'); });
也可以使用動態值插入資料
db = openDatabase(, , , * *
讀取資料
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('#status').innerHTML += msg; for (i = 0; i < len; i++){ msg = "<p><b>" + results.rows[i].log + "</b></p>"; } }, null); });
##刪除記錄
db.transaction(function (tx) { tx.executeSql('DELETE FROM LOGS WHERE id=1'); });刪除資料也可以是動態的
db.transaction(function(tx) { tx.executeSql('DELETE FROM LOGS WHERE id=?', [id]); });
更新記錄##
tx.executeSql("UPDATE CC SET logname='www.baidu.com' WHERE id=2");
tx.executeSql("UPDATE CC SET logname='www.baidu.com' WHERE id=?", [id]);注意
:刪除和修改不可以跟建表語句放一個executeSql裡,最好都分開寫以下是已建立好的資料庫
#
以上是Web SQL資料庫的使用教學課程的詳細內容。更多資訊請關注PHP中文網其他相關文章!