sqlite

sqlite открывает файл базы напрямую, показывает схему и строки, изменяет данные, экспортирует таблицы, запускает нативный SQL и создаёт SQL-дампы.

База данныхВерсия 1.1.4Стабильная
lil-terminal

Обзор

Используйте sqlite прямо с файлами базы: откройте файл, изучите таблицы и столбцы, просматривайте или меняйте строки, выгружайте данные, выполняйте нативный SQL и создавайте SQL-резервные копии без отдельного сервера.

База данных внутри файла

SQLite — реляционная SQL-база, которая хранится в обычном файле и встраивается прямо в процесс приложения. Отдельный сервер и сетевой login не нужны, поэтому SQLite особенно удобен для экспериментов, локальных инструментов и многих небольших приложений. Но простота не отменяет правил базы: важны транзакции, индексы, ограничения, права на файл и конкурирующие записи.

Синтаксис

lil-terminal
sqlite [options] · sqlite : <sql>

Справочник

sqlite

показать текущий файл базы SQLite

sqlite -c <file> [-f] [-m [name]]

открыть базу SQLite; -f создаёт файл, если его нет

-use <file>

открыть другую существующую базу SQLite

-l

показать подключённые файлы баз

-t

показать таблицы и представления

-s <table>

показать столбцы и типы данных

-n <table> [rows]

показать несколько строк таблицы

-f <table> <text> [rows]

найти текст по столбцам таблицы

-o <table> [-j|-csv] [file] [-f]

выгрузить строки таблицы

-a <table> : <json>

добавить строку из JSON-объекта

-w <table> <field> <value> : <json>

изменить совпавшие строки из JSON-объекта

-d <table> <field> <value>

удалить совпавшие строки

-m [name]

сохранить текущую базу в .lil.key; по умолчанию использовать имя файла

-M <name>

удалить сохранённую базу

-k [name]

показать сохранённые базы или сведения об одной

-K <name>

открыть сохранённую базу

-e

закрыть выбранный файл базы

sqlite : <sql>

выполнить нативный SQL

sqlite load <file.sql>

выполнить SQL из файла

sqlite dump [file.sql] [-f]

создать дамп схемы и данных

Подключение

-c открывает существующий файл, а -f разрешает создать новую базу. При актуальном ядре открытый файл становится активным $. -use переключается на другой существующий файл.

Просмотр и изменение

-l показывает подключённые файлы, -t — таблицы и представления, -s — PRAGMA table_info, -n — строки, -f — поиск. -a, -w и -d покрывают небольшие точечные изменения, а : оставляет доступ ко всему SQL SQLite.

Экспорт и резервирование

-o выгружает одну таблицу в JSON или CSV. dump создаёт SQL-сценарий со схемой и данными, load выполняет SQL-файл.

Безопасность

SQLite пишет непосредственно в выбранный файл, поэтому перед изменением схемы или массовым удалением разумно сделать копию.

Выгрузка таблицы больше 100000 строк отклоняется вместо записи неполного файла; SQL-дамп остаётся полным резервным путём для схемы и данных.

Сохранённые подключения

Без -m данные подключения остаются только в текущей PHP-сессии. -m [name] явно сохраняет профиль в защищённом файле .lil.key (0600), -K <name> подключается через него повторно, -k показывает список или сведения о профиле без вывода сохранённого пароля, а -M <name> удаляет профиль. kill удаляет .lil.key вместе с остальным состоянием ядра. Относитесь к файлу как к чувствительному: добровольно сохранённый профиль может содержать доступы к базе данных.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Открыть SQLite-файл и посмотреть данные

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install sqlite
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install sqlite -m
Точная публичная версия

Установить именно эту опубликованную версию.

install sqlite -v 1.1.4
Проверить или обновить

Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.

upgrade sqlite
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install sqlite -u

Примеры

Примеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.

Открыть SQLite-файл и посмотреть данные
cd \sandbox\db | sqlite -c shop.sqlite | sqlite -t | sqlite -n products 5
mysql.sql
postgresql.sql
redis.txt
shop.sqlite
sqlite.sql

Status  connected
File    sandbox/db/shop.sqlite
SQLite  3.x

products
orders

id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.9	1
2	SHOE-2	Trail shoe	shoes	109	1
3	BAG-1	Canvas bag	bags	44.5	1
Sqlite · shop.sqlite
shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  3.x
Sqlite · products
sqlite -s products
Column    Type     Not null  Key
id        INTEGER  no        PRIMARY
sku       TEXT     yes       UNIQUE
name      TEXT     yes
category  TEXT     yes
price     REAL     yes
active    INTEGER  yes
Sqlite · products
sqlite -f products "shoe" 20
id	sku	name	category	price
1	SHOE-1	City shoe	shoes	79.9
2	SHOE-2	Trail shoe	shoes	109
Sqlite · products
sqlite -o products -csv products.csv
Saved  products.csv
Sqlite · products
sqlite -a products : {"sku":"BAG-1","name":"Travel bag","price":49.90}
Inserted  1
ID        5
Sqlite · products
sqlite -w products sku BAG-1 : {"price":44.90}
Updated  1
Sqlite · products
sqlite -d products sku BAG-1
Deleted  1
Sqlite · select
sqlite : SELECT category,COUNT(*) FROM products GROUP BY category
category	COUNT(*)
accessories	1
bags	1
shoes	2
Sqlite · dump
sqlite dump shop-backup.sql
Saved  shop-backup.sql
Sqlite · load
sqlite load \sandbox\db\sqlite.sql
+
Sqlite · -e
sqlite -e
+
Обработать отсутствующий файл базы
sqlite -c missing.sqlite
Файл базы данных не найден

Файл из примера: sandbox/db/sqlite.sql

Пример использует файл или каталог из защищённой учебной папки /sandbox/.

CREATE TABLE products (
  id INTEGER PRIMARY KEY,
  sku TEXT UNIQUE NOT NULL,
  name TEXT NOT NULL,
  category TEXT NOT NULL,
  price REAL NOT NULL,
  active INTEGER NOT NULL DEFAULT 1
);
INSERT INTO products (sku,name,category,price,active) VALUES
('SHOE-1','City shoe','shoes',79.90,1),
('SHOE-2','Trail shoe','shoes',109.00,1),
('BAG-1','Canvas bag','bags',44.50,1);

Связанная документация

Текущая публичная версия

v1.1.42026-08-08

Сохранённые базы SQLite

Добавлены именованные пути SQLite в .lil.key с явным сохранением, просмотром, открытием и удалением.