【15】web sql数据库

websql在浏览器运行的轻量级数据库,随着html5引入,既然是数据库我们就可以对它使用sql语句进行增删改查操作,对于学过sql的小伙伴来说,是一件很容易的事情。

核心函数

openDatabase() 打开一个数据库,若没有则创建一个数据库。

//五个参数分别:数据库名称,版本号,描述,大小
var db=openDatabase('mydb','1.0','testDB',5*1024*1024);

transaction() 事务,若执行不成功,则回滚。
executeSql() 执行sql语句。

插入数据

创建一个数据库,并向其中插入几条数据。

var db=openDatabase('mydb','1.0','testDB',5*1024*1024);
db.transaction(function(tx){
        tx.executeSql('CREATE TABLE IF NOT EXISTS logs (id unique, name)');
        tx.executeSql('INSERT INTO logs (id,name) VALUES (1,"test1")');
        tx.executeSql('INSERT INTO logs (id,name) VALUES (2,"test2")');
});
2017-08-21_230256.png
查询数据

查询数据,并让它显示在页面上。

db.transaction(function(tx) {
    tx.executeSql('select * from logs',[],function(tx,res){
          document.querySelector("#read").innerHTML=res.rows.item(1).name;
        });
});
删除更新
    db.transaction(function (tx) {
        tx.executeSql('DELETE FROM logs  WHERE id=1');
        msg = '

删除 id 为 1 的记录。

'; document.querySelector('#read').innerHTML = msg; }); db.transaction(function (tx) { tx.executeSql('update logs set name="uptest2" where id=2'); msg = '

更新 id 为 2 的记录。

'; document.querySelector('#read').innerHTML = msg; });
2017-08-21_231844.png
传入动态值

可以进行动态的插入数据。

function add(values) {
  var sql = 'INSERT INTO logs(id,name) VALUES (?,?)';
      db.transaction(function(tx) {
        tx.executeSql(sql, values, function(tx, rs) {
                var effectRow = rs.rowsAffected;
                console.log('影响记录条数:' + effectRow);
                effectRow && console.log('执行sql成功');
          });
    });
}
var arr=[3,"test3"];
add(arr);
2017-08-21_235308.png

你可能感兴趣的:(【15】web sql数据库)