Что такое SQLite, где используется и чем отличается от серверных БД
SQLite
Инструкции, инструменты, работа с .db файлами и решения проблем с базами данных. Материалы для тех, кто делает MVP, бота, парсер, мини-CRM, клиентский кабинет или внутренний инструмент: открыть .db, поставить SQLite, написать запросы, подключить Python/PHP/Flutter и разобраться с WAL, JSON, FTS5, backup и ошибками
Что можно сделать с SQLite
Выберите задачу: разобраться, что такое SQLite, скачать инструменты, открыть .db файл, написать первые SQL-запросы или подключить базу к проекту
Разобраться в SQLite
Что это за база данных, где она используется и чем отличается от MySQL и PostgreSQL
Скачать и установить
SQLite CLI, DB Browser for SQLite, установка на Windows, macOS, Linux и работа через Python
Открыть .db файл
SQLite Viewer онлайн, просмотр таблиц, структуры и данных без установки программ
Писать SQL-запросы
SELECT, CREATE TABLE, INSERT, UPDATE, DELETE, индексы и EXPLAIN QUERY PLAN
Использовать в разработке
Python, PHP, Flask, Django, Flutter, мобильные и desktop-приложения
Решить ошибку или ускорить базу
database is locked, WAL, транзакции, индексы, ANALYZE и диагностика производительности
SQLite — это SQL-база данных без отдельного сервера
Вся база хранится в одном файле, а приложение работает с ней через библиотеку SQLite. Это удобно для локальных инструментов, MVP, мобильных приложений, desktop-софта, парсеров, ботов и небольших веб-проектов
Один файл
База обычно лежит в .db, .sqlite или .sqlite3 и переносится вместе с проектом
Без сервера
Не нужно поднимать отдельную СУБД, создавать пользователей и настраивать сетевой доступ
Практичный стек
Есть SQL, индексы, транзакции, JSON, FTS5, WAL, backup и инструменты диагностики
SQLite Viewer онлайн: открыть .db файл без установки программ
Если нужно быстро посмотреть базу данных, SQLite Viewer позволяет открыть файлы .db, .sqlite и .sqlite3 прямо в браузере: увидеть таблицы, структуру и содержимое без CLI и без установки desktop-приложений
Маршрут изучения SQLite
CLI, DB Browser for SQLite, Python sqlite3 и варианты без установки
SELECT, WHERE, ORDER BY, LIMIT, INSERT, UPDATE и DELETE
Индексы, EXPLAIN QUERY PLAN, ANALYZE, WAL и диагностика
CREATE TABLE users (
id INTEGER PRIMARY KEY,
email TEXT NOT NULL UNIQUE,
created_at TEXT DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO users (email)
VALUES ('admin@example.com');
SELECT id, email, created_at
FROM users
WHERE email LIKE '%@example.com'
ORDER BY created_at DESC
LIMIT 10;
Основы SQL в SQLite SELECT, WHERE, ORDER BY, LIMIT
import sqlite3
conn = sqlite3.connect("shop.db")
conn.execute("PRAGMA foreign_keys = ON")
rows = conn.execute(
"SELECT id, email FROM users WHERE email LIKE ?",
("%@example.com",)
).fetchall()
for row in rows:
print(row)
SQLite в Python и проектах Flask, Django, мобильная разработка
$ sqlite3 shop.db
sqlite> .tables
users orders products
sqlite> .schema users
sqlite> SELECT id, email FROM users LIMIT 5;
sqlite> .backup backup.db
sqlite> .quit
Командная оболочка SQLite sqlite3.exe, .tables, .schema, .backup
Популярные темы по SQLite
Выберите направление: базовые запросы, структура таблиц, оптимизация, транзакции, расширенные функции или использование SQLite в реальном проекте
Основы и первые запросы
База для тех, кто впервые работает с SQLite
Таблицы и структура
Типы данных, ограничения и проектирование схемы
Оптимизация
Когда запросы стали медленными или база растет
Транзакции и internals
Как SQLite обеспечивает целостность данных
Расширенные возможности
Функции, которые превращают SQLite в сильный локальный движок
SQLite в разработке
Практические сценарии в языках и фреймворках
Что чаще всего делают с SQLite
Чаще всего с SQLite хотят открыть файл базы, установить инструменты, написать запрос, подключить базу к проекту или разобраться с ошибками и производительностью
Основные сценарии
- Открыть .db, .sqlite или .sqlite3Посмотреть таблицы, структуру и данные без установки программ
- Скачать SQLite и выбрать инструментCLI, DB Browser for SQLite и варианты для Windows, macOS, Linux
- Написать SELECT, INSERT, UPDATE и DELETEБазовые SQL-запросы и первые операции с данными
- Исправить ошибки SQLiteКоды ошибок, database is locked, ограничения и диагностика
С чего начать в разделе SQLite
Если вы открыли раздел впервые, начните с этих материалов: они закрывают базовые сценарии — понять SQLite, открыть .db файл, создать таблицу и разобраться с планом запроса
SQLite: что это такое, для чего нужен и как пользоваться
Главная вводная статья для широкого запроса
SQLite Viewer онлайн: открыть .db файл без установки программ
Практический материал для пользователей с готовой базой
SQLite: CREATE TABLE, ALTER TABLE и DROP
Схема таблиц, типы данных и ограничения
EXPLAIN QUERY PLAN: план выполнения SQL-запроса в SQLite
Как читать план выполнения и находить проблемы
Частые вопросы по SQLite
Короткие ответы на вопросы, которые обычно возникают перед установкой SQLite, открытием .db файла, выбором инструмента и использованием базы в проекте
SQLite бесплатный?
Да, SQLite распространяется как открытая библиотека и может использоваться в личных и коммерческих проектах. Для первого знакомства начните с материала что такое SQLite.
Чем открыть файл .db?
Файл можно открыть через SQLite Viewer онлайн, DB Browser for SQLite, SQLite CLI или код на Python/PHP.
Почему возникает database is locked?
Обычно причина в незавершенной транзакции, конкурирующей записи, долгом запросе или неверной настройке режима журналирования. Начните с разбора ошибок SQLite.
Как сделать резервную копию SQLite?
Для backup используют команду .backup, Online Backup API или корректное копирование файла базы с учетом активных записей. Подробный разбор есть в статье про SQLite Online Backup API.
Изучайте SQLite по задачам
Начните с открытия .db файла, установки SQLite или первых SQL-запросов. В разделе собраны материалы от базовых команд до оптимизации, WAL, JSON, FTS5 и резервного копирования
Новые статьи по SQLite
Свежие инструкции, разборы ошибок, инструменты и практические сценарии из рубрики. Новые публикации подтягиваются сюда автоматически.
Индексы SQLite: создание, уникальность и ускорение запросов
Разберу, как устроены индексы в SQLite, зачем они нужны и как их правильно создавать, проверять и удалять В реляционных базах данных таблица...
Читать материалSQLite ALTER TABLE: переименование и добавление столбцов
Когда работаешь с SQLite, рано или поздно сталкиваешься с тем, что структуру таблицы нужно изменить — переименовать, добавить столбец или убрать лишнее...
Читать материалSQLite CREATE TABLE: синтаксис и создание связанных таблиц
Когда я впервые начал работать с SQLite, синтаксис CREATE TABLE казался простым — пока не столкнулся с составными ключами и внешними ключами...
Читать материалSQLite CREATE VIEW: создание представлений в базе данных
В теории баз данных представление (view) — это сохранённый набор данных, который получается в результате выполнения запроса. Оно позволяет сохранить сложный запрос...
Читать материалSQLite INNER JOIN: объединение данных из нескольких таблиц
Когда я впервые начал работать с реляционными базами данных, самым частым препятствием оказывалось именно это: данные лежат в разных таблицах, а получить...
Читать материалСинтаксис команды
Я разберу здесь оператор CREATE INDEX — от формальной грамматики до поведения NULL-значений и совместимости форматов схемы. Это справочный материал, к которому...
Читать материалSQLite LIMIT и OFFSET: ограничение и смещение строк в запросе
Когда я впервые столкнулся с таблицей на несколько миллионов строк, первый же SELECT без LIMIT положил соединение на несколько секунд. С тех...
Читать материалSQLite UPDATE: обновление данных в таблице
Однажды я потратил полчаса на поиск бага, который оказался банальной опечаткой в одной строке таблицы. Именно тогда я по-настоящему оценил оператор UPDATE...
Читать материалSQLite ORDER BY: сортировка результатов запроса
Строки в таблице SQLite не имеют фиксированного порядка, что означает отсутствие гарантированной последовательности без явной сортировки При использовании оператора SELECT для получения...
Читать материалSQLite GROUP BY: группировка строк и агрегатные функции
Когда мне нужно получить не просто список строк, а сводную статистику — сколько треков в каждом альбоме, какова суммарная длина, где максимум...
Читать материалSQLite и Prisma в Node.js: создание базы данных и первые запросы
Все чаще наталкиваюсь на обсуждения о Prisma — современном ORM, который интегрируется с Node.js и TypeScript Эта библиотека упрощает создание и управление...
Читать материалSQLite с Python: основы работы с базой данных
Когда я впервые начал разбираться с базами данных, SQLite оказался самым удобным стартом — никакого сервера, один файл, и всё работает прямо...
Читать материал