Установить полный пакет с локальной справкой и всеми опубликованными режимами.
install dbdbИспользуйте
: оставляет на родном языке базы данных. Так повседневные действия остаются короткими, но SQL, структуры Redis и документы MongoDB не смешиваются в одну модель.
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>загрузить дамп или сценарий через выбранный драйвер
Сначала выберите драйвер, затем подключитесь:
Без -m выбор драйвера и подключение живут в текущей PHP-сессии. -m [name] по желанию сохраняет профиль в .lil.key, где могут находиться и пароли; -k просматривает профили, -K подключается повторно, -M удаляет запись. Перед -a/-w/-d, load и нативными запросами делайте резервную копию. Для работы нужны установленный модуль и соответствующее расширение PHP. Все примеры — учебные, не обращения к базе посетителя.
Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.
Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.
Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.
Установить полный пакет с локальной справкой и всеми опубликованными режимами.
install dbУстановить сокращённый пакет без локальной справки;
install db -mУстановить именно эту опубликованную версию.
install db -v 1.3.4Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.
upgrade dbУдалить блок расширения, не затрагивая ядро и остальные модули.
install db -uПримеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.
dbNo database driver selected
mysql MySQL / MariaDB · installed
postgresql PostgreSQL · installed
redis Redis · installed
sqlite SQLite · installed
mongodb MongoDB · installeddb sqliteDatabase driver selected: sqlitedb mariadbDatabase driver selected: mysqldb oracleUnknown database driver: oracledb sqlite -c \sandbox\db\shop.sqliteStatus connected
File sandbox/db/shop.sqlite
SQLite (version depends on the host)db sqlite -use \sandbox\db\shop.sqliteStatus connected
File sandbox/db/shop.sqlite
SQLite (version depends on the host)db sqlite -c \sandbox\db\shop.sqlite | db -tname type
orders table
products tabledb sqlite -c \sandbox\db\shop.sqlite | db -s productscid name type notnull dflt_value pk
0 id INTEGER 0 NULL 1
1 sku TEXT 1 NULL 0
2 name TEXT 1 NULL 0
3 category TEXT 1 NULL 0
4 price REAL 1 NULL 0
5 active INTEGER 1 1 0db sqlite -c \sandbox\db\shop.sqlite | db -n products 2id sku name category price active
1 SHOE-1 City shoe shoes 79.9 1
2 SHOE-2 Trail shoe shoes 109.0 1db sqlite -c \sandbox\db\shop.sqlite | db -f products "shoe"id sku name category price active
1 SHOE-1 City shoe shoes 79.9 1
2 SHOE-2 Trail shoe shoes 109.0 1db sqlite -c \sandbox\db\shop.sqlite | db -lseq name file
0 main sandbox/db/shop.sqlitedb sqlite -c \sandbox\db\shop.sqlite | db : SELECT COUNT(*) AS total FROM productstotal
4
Time (varies) msdb sqlite -c \sandbox\db\shop.sqlite | db -o products -j[
{
"id": 1,
"sku": "SHOE-1",
"name": "City shoe",
"category": "shoes",
"price": 79.9,
"active": 1
},
{
"id": 2,
"sku": "SHOE-2",
"name": "Trail shoe",
"category": "shoes",
"price": 109.0,
"active": 1
},
{
"id": 3,
"sku": "BAG-1",
"name": "Canvas bag",
"category": "bags",
"price": 44.5,
"active": 1
},
{
"id": 4,
"sku": "HAT-1",
"name": "Summer hat",
"category": "accessories",
"price": 25.0,
"active": 0
}
]db sqlite -c \sandbox\db\shop.sqlite | db -a products : {"sku":"NEW-1","name":"Sample","category":"test","price":5,"active":1}Inserted 1
ID 5db sqlite -c \sandbox\db\shop.sqlite | db -w products sku HAT-1 : {"price":24}Updated 1db sqlite -c \sandbox\db\shop.sqlite | db -d products sku HAT-1Deleted 1db sqlite -c \sandbox\db\shop.sqlite | db -m demoSaved demodb sqlite -kNo saved connectionsdb sqlite -K absentSaved connection not found: absentdb sqlite -M absentSaved connection not found: absentdb sqlite -c \sandbox\db\shop.sqlite | db -e+db sqlite -c \sandbox\db\shop.sqlite | db dump tmp/sample-db.sqlSaved sandbox/tmp/sample-db.sqldb sqlite -c \sandbox\db\shop.sqlite | db load db/sqlite.sqlSQLite error: table products already existssandbox/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);
Актуальная стабильная версия