Встроенные базы данных с SQLite
Храните структурированные данные с возможностью выполнения запросов во встроенной базе данных SQLite внутри приложения Electron, выходя за рамки хранилищ «ключ — значение» и необработанных файлов.
«Встроенные базы данных с SQLite» — бесплатный урок Electron Desktop App Development на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Electron Desktop App Development, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Electron Desktop App Development содержит 3 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
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.
Часто задаваемые вопросы
Урок «Встроенные базы данных с SQLite» бесплатный?
Да — полный текст урока «Встроенные базы данных с SQLite» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Electron Desktop App Development, подпишись на CoddyKit PRO. Курс Electron Desktop App Development содержит 3 уроков всего.
Чему я научусь в уроке «Встроенные базы данных с SQLite»?
Храните структурированные данные с возможностью выполнения запросов во встроенной базе данных SQLite внутри приложения Electron, выходя за рамки хранилищ «ключ — значение» и необработанных файлов. Ты практикуешь Electron Desktop App Development с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Electron Desktop App Development?
Предыдущий опыт не требуется. Electron Desktop App Development на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Встроенные базы данных с SQLite»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Electron Desktop App Development?
Да. Каждый урок Electron Desktop App Development включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Локальное хранилище и IndexedDB
- Доступ к файловой системе
- Встроенные базы данных с SQLite