webSQL
是一個操作數據庫的對象 裏面封裝了操作數據庫的方法
是通過sql語句操作數據庫的(創建數據庫、建表、增刪改查)
Sql語句?是一個可以操作數據庫的字符串 類似正則的規則 他不會自己執行,需要各個平臺單獨操作數據庫的函數 執行 這個sql語句 才能讓sql執行
在webSQL裏面 有執行sql語句的方法 就會去執行sql裏面描述的功能
webSQL 跟sql語句 是完全獨立的兩個東西
Sql語句 只要是sqlite類型的數據庫 都可以使用 有自己獨立的語法
webSQL是前端獨有的一個API
特點:
不區分大小寫
語句結束之後 分號也是可選的
CREATE 創建
TABLE 表
INSERT 添加
UPDATE 更新
SELECT 選擇查找
DELETE 刪除
Sql建表的語句
CREATE TABLE 表的名字 (字段);
添加數據
INSERT INTO 表的名字 (字段) VALUES(值);
刪除數據
DELETE FROM 表的名字 WHERE 字段=值;
修改數據
UPDATE 表的名字 SET 字段=值;
查找數據
SELECT * FROM 表的名字;
SELECT * FROM 表的名字 WHERE 字段=值;
webSQL:有執行sql的方法
openDatabase:打開數據庫的方法
Transaction:獲取事務的方法
executeSql:執行sql語句的方法
打開數據庫
openDatabase(parms);
參數:
Name 數據庫的名字 必傳
Version 數據庫的版本號 必傳
displayName 數據庫的名字 必傳
estimatedSize 數據庫的大小 必傳
creationCallback 數據庫創建完成的回調 可選
db = openDatabase("noteDB","1.0","noteDB",1024*1024*10,function (result) {
console.log(result);
//只有創建數據庫成功 纔會調用這個回調
db = result;
});
通過事務對象 操作sql語句
通過數據庫的對象 調用transaction函數會得到一個事務對象
可以通過事務對象 執行sql語句的函數
//callback,errorCallback,successCallback
db.transaction(function (ts) {
console.log(ts);
//通過得到的事務對象 調用執行sql的方法
ts.executeSql("sql語句");
});
執行SQL語句的函數
executeSql()
參數:
sqlStatement:sql語句 必傳
Arguments 實參的數組(sql的值) 可選
Callback 執行完成時候的回調 可選
errorCallback 出現錯誤時候的回調 可選
db.transaction(function (ts) {
console.log(ts);
//通過得到的事務對象 調用執行sql的方法
//sqlStatement,arguments,callback,errorCallback
ts.executeSql("CREATE TABLE user (id,username,age);");
});
db.transaction(function (ts) {
console.log(ts);
//通過得到的事務對象 調用執行sql的方法
//sqlStatement,arguments,callback,errorCallback
ts.executeSql(sql,args,function (result) {
console.log(result);
},function (error) {
console.log(error);
});
});
//添加
oprationSQL("INSERT INTO user (id,username,age) VALUES (6,'小ming',23);");
//刪除
oprationSQL("DELETE FROM user WHERE id=0",[],function () {
searchAll();
});
//修改
oprationSQL("UPDATE user SET username='"+username+"' WHERE username='奧特曼';",[],function () {
searchAll();
});
//查詢
oprationSQL("SELECT * FROM user;",[],function (result) {
var content = "";
for (var i=0;i<result.rows.length;i++){
content+="<p>"+result.rows[i].username+"</p>"
}
document.body.innerHTML = content;
});