webSQL: 是一个操作数据库的对象,里面封装了操作数据库的方法,是通过sql语句操作数据库的(创建数据库、建表、增删改查)的字符串,类似正则的规则,他不会自己执行; 在webSQL里面有执行sql语句的方法,就会去执行sql里面描述的功能; webSQL跟sql语句是完全独立的两个东西(webSQL是前端独有的API,后者只要是sqlite类型的数据库都可以使用); 特点: 不区分大小写 语句结束后,分号也是可选的(可有可无) CREATE 创建 TABLE 表 INSERT 添加 UPDATE 更新 SELECT 选择查找 DELETE 删除
Sql建表的语句 CREATE TABLE 表的名字( 字段 ) INSERT INTO 表的名字(字段) VALU|E(值)
删除数据 DELETE FROM 表的名字 WHERE 字段=值;
修改数据 UPDATE 表的名字 SET 字段=值;
查找数据 SELECT * FROM 表的名字 SELECT * FROM 表的名字 WHERE 字段=值
webSQL:有执行sql的方法 openDatabase 打开数据库的方法 Transaction 获取事物的方法 executeSql 执行sql语句的方法
打开数据库 openDatabase(parms);(可传的参数[parms]如下,前四个必传) Name 数据库名字 Version 数据库版本号 displayName 数据库的名字 estimatedSize 数据库的大小 creationCallback 数据库创建完成之后的回调(可选)
//打开数据库 //参数name,version,displayName,estimateSize,creationCallback //openDatabase这个函数本身就返回一个数据库的对象,在打开数据库的时候,可以直接接受数据库的对象 db = openDatabase("noteDB","1.0","noteDB",1024*1024*10,function(result){ console.log(result); //只有创建数据库成功才会调用这个回调 db = result; });
//通过事物操作sql语句 通过数据库的对象调用consaction函数会得到一个事物对象,可以通过事物对象执行sql语句的函数 //callback,errorCallback,successCallback db.transaction(function(ts){ console.log(ts); //通过得到的事物对象,调用执行sql语句 ts.executeSql("sql语句"); });
执行SQL语句的函数 executeSql() 参数: sqlStatement : sql语句 必传 Arguments: 实参的数组() 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;irows.length;i++){ content+="
"+result.rows[i].username+"
" } document.body.innerHTML = content; });