一、Web SQL 数据库
Web SQL是一个独立的规范,引入了一组使用SQL操作客户端数据库的API(应用编程接口)。Web SQL数据库可以在最新版的Safari、Chrome和Opera浏览器中工作。可用如下方式判断浏览器是否支持Web SQL:
if(window.openDatabase){
console.log(“浏览器支持Web SQL”);
}
Web SQL规范中定义了三个核心方法:
openDatabase:打开现有的数据库或者创建一个数据库对象(新建数据库)
transaction:控制事务,以及基于这种情况执行提交或者回滚操作
executeSql:执行实际的SQL查询
1.打开数据库
可以使用openDatabase()方法来打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库,使用代码如下:
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
openDatabase(‘数据库名称’, ’版本号’, ’描述文本’, ’数据库大小’, ’创建回调’),创建回调参数会在创建数据库后被调用。
2.创建表
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); db.transaction(function(tx){// 执行操作使用database.transaction()函数 tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, name)'); });
3.插入数据
在执行上面的创建表语句后,我们可以插入一些数据:
tx.executeSql('INSERT INTO LOGS (id, name) VALUES (1, "zhangsan")');
tx.executeSql('INSERT INTO LOGS (id,log) VALUES (?, ?)', [e_id, e_name]);
4.读取数据
以下实例演示了如何读取数据库中已经存在的数据:
db.transaction(function(tx){ tx.executeSql('SELECT * FROM LOGS', [], function(tx, results){ var len = results.rows.length, i; for (i = 0; i < len; i++){ console.log(results.rows.item(i)); } }, null); }); db.transaction(function(tx){ tx.executeSql('SELECT * FROM LOGS WHERE ID = ?', [1], function(tx, results){ var len = results.rows.length, i; for (i = 0; i < len; i++){ console.log(results.rows.item(i)); } }, function(tx,error){ console.log(“NoData”); }) });
5.删除数据
删除数据使用的格式如下:
db.transaction(function(tx){ tx.executeSql('DELETE FROM LOGS WHERE id=1'); });
6.更新数据
db.transaction(function(tx){ tx.executeSql('UPDATE LOGS SET log=\'www.w3cschool.cc\' WHERE id=2'); });