Electron Desktop App Development · Leçon

Bases de données intégrées avec SQLite

Stockez des données structurées et interrogeables dans votre application Electron grâce à une base de données SQLite intégrée, au-delà du stockage clé-valeur et des fichiers bruts.

Leçon 3 sur 313 étapes

Bases de données intégrées avec SQLite est une leçon Electron Desktop App Development gratuite sur CoddyKit. Ceci est la leçon 3 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Electron Desktop App Development, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Electron Desktop App Development comprend 3 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

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.

Gratuit pour commencer

Apprends JavaScript avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
47

Questions Fréquemment Posées

La leçon « Bases de données intégrées avec SQLite » est-elle gratuite ?

Oui — le texte complet de « Bases de données intégrées avec SQLite » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Electron Desktop App Development, passe à CoddyKit PRO. Le cours Electron Desktop App Development comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Bases de données intégrées avec SQLite » ?

Stockez des données structurées et interrogeables dans votre application Electron grâce à une base de données SQLite intégrée, au-delà du stockage clé-valeur et des fichiers bruts. Tu pratiques Electron Desktop App Development avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Electron Desktop App Development ?

Aucune expérience préalable n'est requise. Electron Desktop App Development sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 3.

Combien de temps prend la leçon « Bases de données intégrées avec SQLite » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Electron Desktop App Development ?

Oui. Chaque leçon Electron Desktop App Development inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Stockage local et IndexedDB
  2. Accès au système de fichiers
  3. Bases de données intégrées avec SQLite
← Retour à Electron Desktop App Development