一、WebSQL
WebSQL是前端的一个独立模块,是web存储方式的一种,我们调试的时候会经常看到,只是一般很少使用。
兼容性:当前只有谷歌支持,ie和火狐均不支持。
![18721079-7b262f67cc8a5f07.png](https://i-blog.csdnimg.cn/blog_migrate/8c9a881555d047c96de4fe09cf1fc148.png)
我们对数据库的一般概念是后端才会跟数据库打交道,进行一些业务性的增删改查。而这里的数据库也不同于真正意义上的数据库。
主要方法:
1.openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。
2.transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。
3.executeSql:这个方法用于执行实际的 SQL 查询。
4.openDatabase() 方法对应的五个参数说明:
1.数据库名称
2.版本号
3.描述文本
4.数据库大小
5.创建回调
transaction执行数据库操作,操作内容就是正常的数据库的增删改查。
executeSql是执行具体的sql,参数是1.sql语句(大写?),2.语句中的变量,3.执行后的回调,4.
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 (?, ?)', [e_id, e_log]); //使用外部变量,执行时会将变量数组中的值依次替换前边的问号位置
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { var len = results.rows.length, i; msg = "<p>查询记录条数: " + len + "</p>"; document.querySelector('#status').innerHTML += msg; for (i = 0; i < len; i++){ msg = "<p><b>" + results.rows.item(i).log + "</