JavaScript 數據庫操作是前端開發中不可缺少的一部分,它的應用范圍涵蓋了數據的獲取、存儲、更新等各個領域。在進行數據庫操作之前,首先需要了解一些相關的知識點,例如數據庫的基本概念、SQL語句等。
常用的數據庫操作包括:增加數據、刪除數據、修改數據、查詢數據等。以下是一些實例:
// 增加數據 var request = indexedDB.open('myDatabase', 1); request.onupgradeneeded = function (event) { var db = event.target.result; var objectStore = db.createObjectStore('students', { keyPath: 'id' }); var student = { id: 1, name: '張三', age: 20 }; objectStore.add(student); console.log('數據添加成功!'); } // 刪除數據 var request = indexedDB.open('myDatabase', 1); request.onsuccess = function (event) { var db = event.target.result; var transaction = db.transaction(['students'], 'readwrite'); var objectStore = transaction.objectStore('students'); var request = objectStore.delete(1); request.onsuccess = function() { console.log('數據刪除成功!'); }; } // 修改數據 var request = indexedDB.open('myDatabase', 1); request.onsuccess = function (event) { var db = event.target.result; var transaction = db.transaction(['students'], 'readwrite'); var objectStore = transaction.objectStore('students'); var request = objectStore.get(1); request.onsuccess = function() { var student = request.result; student.name = '李四'; objectStore.put(student); console.log('數據修改成功!'); }; } // 查詢數據 var request = indexedDB.open('myDatabase', 1); request.onsuccess = function (event) { var db = event.target.result; var transaction = db.transaction(['students'], 'readonly'); var objectStore = transaction.objectStore('students'); var request = objectStore.get(1); request.onsuccess = function() { var student = request.result; console.log(student.name); }; }
在進行數據庫操作時,需要先打開數據庫,再獲取事務,最后進行相應的操作。其中,IndexedDB是前端最為常用的數據庫,因為它的特點是支持離線應用,也能夠進行大量數據的存儲。
除了IndexedDB之外,還有一些其他的數據庫,例如Web SQL、LocalStorage、Cookie等。LocalStorage和Cookie的使用較為簡單,而Web SQL則較為麻煩。以下是一個Web SQL的代碼示例:
// 打開數據庫 var db = openDatabase("myDatabase", "1.0", "myDatabase", 2 * 1024 * 1024); // 創建表結構 db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS students (id unique, name)'); }); // 插入數據 db.transaction(function (tx) { tx.executeSql('INSERT INTO students (id, name) VALUES (?, ?)', [1, '張三']); }); // 更新數據 db.transaction(function (tx) { tx.executeSql('UPDATE students SET name=? WHERE id=?', ['李四', 1]); }); // 刪除數據 db.transaction(function (tx) { tx.executeSql('DELETE FROM students WHERE id=?', [1]); }); // 查詢數據 db.transaction(function (tx) { tx.executeSql('SELECT * FROM students WHERE id=?', [1], function(tx, result) { console.log(result.rows.item(0).name); }); });
總的來說,在JavaScript 中進行數據庫操作的過程較為繁瑣,但是它的應用范圍非常廣泛。我們可以通過學習與實踐,掌握常用的數據庫操作方法,從而更好地完成前端開發的各項任務。