db

db запоминает выбранный установленный драйвер и передаёт ему единый короткий набор действий, не переводя нативный язык самой базы.

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

Обзор

Используйте db как короткое сессионное зеркало установленного драйвера: один раз выберите MySQL/MariaDB, PostgreSQL, Redis, SQLite или MongoDB, а затем работайте через единый компактный префикс — просмотр, выгрузка, резервные копии и нативные команды движка.

Один префикс, разные движки

db — общая точка входа для установленных драйверов баз данных, а не отдельный движок. Команда запоминает выбранный драйвер и предоставляет его общие операции, а текст после : оставляет на родном языке базы данных. Так повседневные действия остаются короткими, но SQL, структуры Redis и документы MongoDB не смешиваются в одну модель.

Синтаксис

lil-terminal
db [driver] [options]

Справочник

db

показать выбранный драйвер БД и установленные драйверы

db <driver>

выбрать драйвер: mysql|postgresql|redis|sqlite|mongodb

-c ...

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

-use ...

выбрать базу данных через выбранный драйвер

-l

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

-t

показать таблицы, коллекции или ключи через выбранный драйвер

-s <name>

показать структуру через выбранный драйвер

-n <name> [rows]

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

-f <name> <text>

найти данные через выбранный драйвер

-o <name> ...

выгрузить данные через выбранный драйвер

-a ...

добавить данные через выбранный драйвер

-w ...

обновить данные через выбранный драйвер

-d ...

удалить данные через выбранный драйвер

-m [name]

сохранить текущее подключение выбранного драйвера

-M <name>

удалить сохранённое подключение выбранного драйвера

-k [name]

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

-K <name>

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

-e

отключить выбранный драйвер

db : <native>

выполнить нативный запрос или команду выбранного драйвера

db dump ...

создать дамп через выбранный драйвер

db load <file>

загрузить дамп или сценарий через выбранный драйвер

Выбор драйвера

Выбор хранится только в текущей PHP-сессии. db mariadb выбирает mysql, потому что один драйвер намеренно обслуживает и MySQL, и MariaDB. db не устанавливает отсутствующий драйвер незаметно: используйте @mysql или install mysql.

Единый принцип

Где модель БД позволяет, драйверы используют одинаковые операции: -c подключает, -use выбирает базу или файл, -l показывает базы/пространства, -t — таблицы/коллекции/ключи, -s — структуру, -n — данные, -f — поиск, -o — выгрузку, dump/load — резервные копии, -e — отключение. После : всегда идёт нативный язык выбранной БД.

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

Пароли вводятся через скрытое поле и не попадают в историю команд. Запись выполняется с правами подключённого пользователя БД; для повседневной работы предпочтительны ограниченные учётные записи.

Общее зеркало также передаёт -a, -w и -d для точечного добавления, изменения и удаления данных; точные аргументы остаются специфичными для выбранного драйвера.

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

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

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

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

Выбрать SQLite и посмотреть таблицу

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

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

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

Пакет Base

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

install db
Пакет Minimum

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

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

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

install db -v 1.3.3
Проверить или обновить

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

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

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

install db -u

Примеры

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

Выбрать SQLite и посмотреть таблицу
db sqlite | db -c \sandbox\db\shop.sqlite | db -t | db -n products 5
Driver      sqlite
Status      selected

Status      connected
File        sandbox/db/shop.sqlite

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
Db · 02
db
Driver      sqlite
SQLite      installed · selected
MySQL       installed
PostgreSQL  not installed
Redis       not installed
MongoDB     not installed
Db · mysql
db mysql
Driver  mysql
Status  selected
Engine  MySQL / MariaDB
Db · mariadb
db mariadb
Driver  mysql
Status  selected
Engine  MySQL / MariaDB
Db · products
db -s products
Field     Type       Null  Key
id        INTEGER    no    PRIMARY
sku       TEXT       no    UNIQUE
name      TEXT       no
category  TEXT       no
price     REAL       no
active    INTEGER    no
Db · products
db -f products "shoe"
id	sku	name	category	price
1	SHOE-1	City shoe	shoes	79.9
2	SHOE-2	Trail shoe	shoes	109
Db · products
db -o products -j products.json
Saved  products.json
Db · products
db -a products : {"sku":"TMP-1","name":"Temporary","price":1}
Inserted  1
ID        5
Db · products
db -w products sku TMP-1 : {"price":2}
Updated  1
Db · products
db -d products sku TMP-1
Deleted  1
Db · select
db : SELECT COUNT(*) AS products FROM products
products
4
Db · dump
db dump backup.sql
Saved  backup.sql
Db · -e
db -e
+
Отклонить неподдерживаемый драйвер
db oracle
Неизвестный драйвер базы данных: oracle

Файл из примера: 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.3.32026-08-08

Компактный фасад БД

Общие флаги собраны вместе, память подключений передаётся драйверу, а статусы выведены компактными колонками.