html5连接数据库
时间: 2024-03-03 21:45:01 浏览: 87
HTML5提供了两种方式来连接数据库:WebSQL和IndexedDB。
1. WebSQL是一种基于浏览器的数据库,它使用SQL语言来执行CRUD操作。要连接WebSQL数据库,可以使用以下步骤:
```javascript
// 打开或创建数据库
var db = openDatabase('mydb', '1.0', 'My Database', 5 * 1024 * 1024);
// 创建表
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS users (id unique, name, age)');
});
// 插入数据
db.transaction(function(tx) {
tx.executeSql('INSERT INTO users (id, name, age) VALUES (?, ?, ?)', [1, 'John', 25]);
});
// 查询数据
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM users', [], function(tx, results) {
var len = results.rows.length;
for (var i = 0; i < len; i++) {
var user = results.rows.item(i);
console.log('User: ' + user.name + ', Age: ' + user.age);
}
});
});
```
2. IndexedDB是一种更为强大和灵活的浏览器端数据库,它使用对象存储来存储和检索数据。要连接IndexedDB数据库,可以使用以下步骤:
```javascript
// 打开或创建数据库
var request = indexedDB.open('mydb', 1);
// 创建对象存储空间
request.onupgradeneeded = function(event) {
var db = event.target.result;
var objectStore = db.createObjectStore('users', { keyPath: 'id' });
objectStore.createIndex('name', 'name', { unique: false });
objectStore.createIndex('age', 'age', { unique: false });
};
// 插入数据
request.onsuccess = function(event) {
var db = event.target.result;
var transaction = db.transaction(['users'], 'readwrite');
var objectStore = transaction.objectStore('users');
objectStore.add({ id: 1, name: 'John', age: 25 });
};
// 查询数据
request.onsuccess = function(event) {
var db = event.target.result;
var transaction = db.transaction(['users'], 'readonly');
var objectStore = transaction.objectStore('users');
var index = objectStore.index('name');
var request = index.openCursor();
request.onsuccess = function(event) {
var cursor = event.target.result;
if (cursor) {
var user = cursor.value;
console.log('User: ' + user.name + ', Age: ' + user.age);
cursor.continue();
}
};
};
```
阅读全文