DB Browser for SQLite
DB Browser for SQLite (DB4S) удобно держать открытым рядом с редактором кода: вы видите таблицы, которые создает ваш скрипт, проверяете данные и пробуете SQL-запросы до того, как перенести их в программу. Программа бесплатная и работает на Windows, macOS и Linux.
Ниже вы найдете базовые шаги по установке и работе с таблицами, а в добавленном разделе разберем связку DB4S и модуля sqlite3 в Python 3.12 и 3.13: почему изменения не видны в скрипте, откуда берется ошибка database is locked и как проверять запросы перед переносом в код.

Содержание статьи
DB Browser for SQLite - это удобное графическое приложение, которое позволяет работать с базами данных SQLite в удобном и интуитивно понятном интерфейсе. В данной статье мы рассмотрим основные шаги по использованию DB Browser for SQLite.
Установка DB Browser for SQLite
- Скачайте установочный файл DB Browser for SQLite с официального сайта
- Запустите установочный файл и следуйте инструкциям мастера установки.
- После завершения установки запустите приложение DB Browser for SQLite.
Создание или открытие базы данных
- Для создания новой базы данных нажмите на кнопку
"New Database"и выберите место для сохранения файла базы данных. - Для открытия существующей базы данных выберите пункт
"Open Database"и укажите путь к файлу базы данныхSQLite.
Работа с таблицами и данными
- Создание таблицы: Чтобы создать новую таблицу, выберите вкладку
"Execute SQL"и введите запросCREATE TABLE. - Вставка данных: Для добавления новых записей в таблицу используйте вкладку
"Browse Data"и кнопку "New Record". - Просмотр данных: Для просмотра содержимого таблицы выберите её в левой панели и переключитесь на вкладку
"Browse Data". - Редактирование данных: Для изменения данных в таблице дважды кликните по ячейке и внесите необходимые изменения.
- Выполнение SQL-запросов: Используйте вкладку
"Execute SQL"для выполнения сложных SQL-запросов.
Экспорт и импорт данных
- Экспорт данных: Для экспорта данных из таблицы выберите нужную таблицу, затем нажмите
"File"->"Export"и выберите формат экспорта (например, CSV). - Импорт данных: Для импорта данных в таблицу выберите нужную таблицу, затем нажмите
"File"->"Import"и выберите файл с данными для импорта.
Сохранение и закрытие базы данных
- Для сохранения изменений в базе данных нажмите
"File"->"Save Database". - Для закрытия базы данных нажмите
"File"->"Close Database".
Заключение
DB Browser for SQLite предоставляет удобный способ работы с базами данных SQLite с помощью графического интерфейса. Благодаря его функциональности вы можете легко создавать, изменять и просматривать данные в базе данных SQLite, выполнять SQL-запросы и экспортировать/импортировать данные. Следуя этой инструкции, вы сможете эффективно использовать DB Browser for SQLite для работы с вашими базами данных.
Как работать с DB Browser и Python одновременно
Главное, что нужно понимать: DB Browser открывает транзакцию, как только вы меняете данные или структуру. Пока вы не нажали Write Changes (Ctrl+S), изменения видны только внутри программы. Скрипт на Python их не увидит, а при попытке записать в ту же базу получит ошибку sqlite3.OperationalError: database is locked.
Безопасный порядок действий
- Внесли правки в DB4S, сразу нажмите Write Changes или Revert Changes.
- Запускайте скрипт, который пишет в базу, только когда в DB4S нет несохраненных изменений.
- После работы скрипта нажмите F5 или переоткройте таблицу на вкладке Browse Data, чтобы увидеть новые строки.
- Для экспериментов с запросами используйте копию файла базы, а не рабочую базу приложения.
Ожидание блокировки в коде
По умолчанию sqlite3.connect() ждет освобождения базы 5 секунд. Если вы часто держите базу открытой в DB4S, увеличьте таймаут и обрабатывайте ошибку явно:
import sqlite3
try:
with sqlite3.connect("shop.db", timeout=15) as conn:
conn.execute(
"INSERT INTO products (name, price) VALUES (?, ?)",
("Чайник", 2490),
)
except sqlite3.OperationalError as err:
print("Не удалось записать:", err)
print("Проверьте, нет ли несохраненных изменений в DB Browser")
Блок with у соединения фиксирует транзакцию при успехе и откатывает ее при исключении, но само соединение не закрывает. В долгоживущих программах вызывайте conn.close() явно.
Отладка запросов во вкладке Execute SQL
Сложный запрос сначала проверьте в Execute SQL: результат и время выполнения видны сразу. Перед запросом добавьте EXPLAIN QUERY PLAN, и DB4S покажет, использует ли SQLite индекс или перебирает всю таблицу. Строка SCAN products на большой таблице означает, что стоит создать индекс по полю из условия WHERE.
| Задача | В DB Browser | В Python |
|---|---|---|
| Сохранить изменения | Write Changes, Ctrl+S | conn.commit() |
| Отменить изменения | Revert Changes | conn.rollback() |
| Посмотреть структуру | Database Structure | PRAGMA table_info(products) |
| Проверить целостность | Tools, Integrity Check | PRAGMA integrity_check |
Как подключаться к базе из кода, разобрано в статье Python sqlite.
Частые вопросы
Несколько вопросов, которые часто задают начинающие, и ответы на них.
Почему данные, добавленные в DB Browser, не видны в программе?
Скорее всего, изменения не записаны в файл. Нажмите Write Changes (Ctrl+S). Также проверьте, что скрипт открывает тот же файл: относительный путь вроде shop.db считается от текущей рабочей папки, а не от папки скрипта.
Можно ли открыть в DB Browser базу, с которой работает запущенный скрипт?
Читать можно, но одновременная запись из двух программ приведет к блокировкам. Для учебных проектов закрывайте DB4S или не вносите в нем правки, пока скрипт пишет в базу.
Как импортировать CSV с русскими буквами?
Сохраните файл в кодировке UTF-8, затем выберите File, Import, Table from CSV file. В окне импорта проверьте разделитель (запятая или точка с запятой) и отметьте, что первая строка содержит названия колонок.
Чем DB Browser отличается от SQLiteStudio и DBeaver?
DB4S сфокусирован только на SQLite и проще в освоении. SQLiteStudio тоже работает с одной СУБД, но имеет больше настроек, а DBeaver подходит, если вы параллельно работаете с PostgreSQL или MySQL.