HTML5提供了一种使用JavaScript对浏览器本地数据库进行操作的新方式,名为Web SQL Database。这种数据库与浏览器密切相关,它存储在用户计算机的本地磁盘上,而不是服务器上。Web SQL Database是SQLite数据库的一个子集,因此具有轻量级、高效率和可移植性的优点。
Web SQL Database提供了一些方法来打开、创建和操作本地数据库。
1. 打开数据库
要打开数据库,需要使用window对象的openDatabase()方法。该方法有三个参数:数据库名称、数据库版本和数据库描述。 如果该数据库不存在,则将创建一个新的数据库。
var db = openDatabase('mydb', '1.0', 'mydb database');
2. 创建表
在打开一个数据库并开始读写之前,需要创建数据表,并且确定表中所需要包含的字段。 可以使用db对象的executeSql()方法来创建数据表。
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS MYTABLE (id unique, name)');
});
3. 插入数据
在创建数据表之后,可以向其中插入数据。可以使用tx.executeSql()方法来插入数据。
db.transaction(function(tx) {
tx.executeSql('INSERT INTO MYTABLE (id, name) VALUES (?, ?)', [1, 'John']);
tx.executeSql('INSERT INTO MYTABLE (id, name) VALUES (?, ?)', [2, 'Jack']);
});
4. 查询数据
要查询数据,还是需要使用db对象的executeSql()方法。 在查询完成后,会调用一个回调函数,并传递数据到该函数中。
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM MYTABLE', [], function(tx, results) {
var len = results.rows.length;
for (var i = 0; i < len; i++) {
console.log(results.rows.item(i).name);
}
});
});
5. 更新数据
更新数据也需要使用tx.executeSql()方法。
db.transaction(function(tx) {
tx.executeSql('UPDATE MYTABLE SET name = ? WHERE id = ?', ['John Smith', 1]);
});
6. 删除数据
删除数据也需要使用tx.executeSql()方法。
db.transaction(function(tx) {
tx.executeSql('DELETE FROM MYTABLE WHERE id = ?', [1]);
});
总之,Web SQL Database提供了一种便捷的方式来处理本地数据。它非常适合在HTML5应用程序中使用,可以存储数据和页面状态,并为离线应用程序提供支持。 在使用这种数据库时需要注意,因为浏览器默认情况下只允许用户在其本地磁盘上存储一定数量的数据。所以需要把它作为一个轻量级的数据库来使用。