Eingebettete Datenbanken mit SQLite
Speichern Sie strukturierte, abfragbare Daten in Ihrer Electron-App mithilfe einer eingebetteten SQLite-Datenbank und gehen Sie damit über Key-Value-Speicher und unverarbeitete Dateien hinaus.
Eingebettete Datenbanken mit SQLite ist eine kostenlose Electron Desktop App Development-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Electron Desktop App Development-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Electron Desktop App Development-Kurs umfasst insgesamt 3 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
When Files Are Not Enough
Key-value storage and flat files work for small data. For relational, queryable data, an embedded database like SQLite is the right tool.
Why SQLite for Desktop
SQLite is serverless and stores everything in a single file. It ships inside your app, no installation needed by the user.
Choosing a Driver
Popular Node drivers include better-sqlite3 (synchronous, fast) and sqlite3 (async). Run database code in the main process.
const Database = require('better-sqlite3');
const db = new Database('app.db');Creating a Table
Define your schema once with CREATE TABLE IF NOT EXISTS so it is safe to run on every launch.
db.exec('CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)');Inserting Rows
Use prepared statements with placeholders to insert data safely.
const insert = db.prepare('INSERT INTO notes (body) VALUES (?)');
insert.run('Buy groceries');Querying Data
Read rows back with all() for many or get() for one.
function buildQuery(table) {
return 'SELECT * FROM ' + table;
}
console.log(buildQuery('notes'));Parameterize Everything
Never concatenate user input into SQL. Placeholders prevent SQL injection and quoting bugs.
function isSafe(query) {
return query.includes('?');
}
console.log(isSafe('SELECT * FROM notes WHERE id = ?'));Exposing Data to the Renderer
The renderer should never touch the DB directly. Expose query functions through a preload bridge over IPC.
ipcMain.handle('notes:list', () => {
return db.prepare('SELECT * FROM notes').all();
});Migrations
As your schema evolves, track a user_version and apply migrations step by step on startup.
Where to Store the File
Place the database in the user-data directory via app.getPath('userData') so it survives updates and is writable.
const path = require('path');
function dbPath(userData) {
return path.join(userData, 'app.db');
}
console.log(dbPath('/home/user/.config/myapp'));Transactions for Safety
Wrap multiple writes in a transaction so they all succeed or all roll back, keeping data consistent.
Quick Check
Test your SQLite knowledge.
Recap
You learned to add structured persistence with SQLite: choosing a driver, creating tables, using prepared statements, exposing data over IPC, storing the file in userData, and using transactions and migrations.
Lerne JavaScript mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 12
- Lektionen
- 47
Häufig gestellte Fragen
Ist die Lektion „Eingebettete Datenbanken mit SQLite“ kostenlos?
Ja — der vollständige Text von „Eingebettete Datenbanken mit SQLite“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Electron Desktop App Development-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Electron Desktop App Development-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Eingebettete Datenbanken mit SQLite“?
Speichern Sie strukturierte, abfragbare Daten in Ihrer Electron-App mithilfe einer eingebetteten SQLite-Datenbank und gehen Sie damit über Key-Value-Speicher und unverarbeitete Dateien hinaus. Du übst Electron Desktop App Development mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Electron Desktop App Development zu starten?
Keine Vorkenntnisse erforderlich. Electron Desktop App Development auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.
Wie lange dauert die Lektion „Eingebettete Datenbanken mit SQLite“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Electron Desktop App Development-Lektion Code schreiben und ausführen?
Ja. Jede Electron Desktop App Development-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Lokaler Speicher und IndexedDB
- Zugriff auf das Dateisystem
- Eingebettete Datenbanken mit SQLite