db

db lembra um driver instalado e encaminha a ele uma interface compacta comum sem traduzir a linguagem nativa do motor.

Banco de dadosVersão 1.3.4Estável
lil-terminal

Visão geral

Use db como espelho curto e ligado à sessão de um driver instalado: escolha uma vez MySQL/MariaDB, PostgreSQL, Redis, SQLite ou MongoDB e reutilize o mesmo prefixo para inspeção, exportação, backup e comandos nativos.

Um prefixo, motores diferentes

db é um ponto de entrada comum para os drivers de banco de dados instalados, não um mecanismo próprio. Ele lembra o driver escolhido e expõe as operações compartilhadas, enquanto o texto depois de : permanece na linguagem nativa do banco. Assim, o trabalho rotineiro fica curto sem fingir que SQL, estruturas do Redis e documentos do MongoDB são o mesmo modelo.

Sintaxe

lil-terminal
db [driver] [options]

Referência

db

mostrar o driver selecionado e os drivers instalados

db <driver>

selecionar driver: mysql|postgresql|redis|sqlite|mongodb

-c ...

conectar pelo driver selecionado

-use ...

selecionar um banco pelo driver selecionado

-l

listar bancos ou namespaces pelo driver selecionado

-t

listar tabelas, coleções ou chaves pelo driver selecionado

-s <name>

mostrar a estrutura pelo driver selecionado

-n <name> [rows]

pré-visualizar registros pelo driver selecionado

-f <name> <text>

pesquisar pelo driver selecionado

-o <name> ...

exportar pelo driver selecionado

-a ...

adicionar dados pelo driver selecionado

-w ...

atualizar dados pelo driver selecionado

-d ...

excluir dados pelo driver selecionado

-m [name]

salvar a conexão atual pelo driver selecionado

-M <name>

remover uma conexão salva do driver selecionado

-k [name]

listar ou inspecionar conexões salvas do driver selecionado

-K <name>

conectar usando uma conexão salva do driver selecionado

-e

desconectar o driver selecionado

db : <native>

executar a consulta ou comando nativo do driver selecionado

db dump ...

criar um dump pelo driver selecionado

db load <file>

carregar um dump ou script pelo driver selecionado

Para que serve

db seleciona um driver instalado e encaminha comandos a ele. Não é um banco de dados nem traduz SQL para Redis ou MongoDB. Use db sqlite para arquivo e db mysql para servidor.

Como usar

Após db sqlite -c \sandbox\db\shop.sqlite, db -t lista tabelas, db -n products 2 mostra linhas e db -f pesquisa. db : envia a linguagem nativa. db mariadb escolhe MySQL, sem instalar módulos.

Limites e segurança

A seleção fica na sessão PHP. -m pode salvar um perfil sensível em .lil.key; -k/-K/-M listam, reutilizam e removem. Faça backup antes de gravar e confira as extensões PHP. Os exemplos não acessam dados de visitantes.

Prévia interativa do sandbox

Execute os exemplos preparados diretamente na página. Os resultados são predefinidos e exibidos no navegador; nenhum comando do terminal é executado no servidor.

Escolher SQLite e inspecionar uma tabela

Instalar e gerenciar

Instale a versão compatível atual. Escolha Base para o conjunto completo de recursos ou Minimum para o pacote reduzido; use upgrade para atualizar um módulo já instalado.

Base e Minimum são dois pacotes da mesma versão atual do módulo.

Pacote Base

Instala o pacote completo com referência local e todos os modos publicados.

install db
Pacote Minimum

Instalar o pacote reduzido. A referência local é omitida; help <cmd> -i abre a referência atual do servidor.

install db -m
Versão pública exata

Instalar exatamente esta versão publicada.

install db -v 1.3.4
Verificar ou atualizar

upgrade verifica compatibilidade e substitui o bloco somente quando necessário.

upgrade db
Remover módulo

Remove o bloco da extensão sem afetar o núcleo ou outros módulos.

install db -u

Exemplos

Os exemplos podem ser copiados, mas o site não os executa. Revise caminhos, permissões e opções destrutivas.

Escolher SQLite e inspecionar uma tabela
db
No database driver selected
mysql       MySQL / MariaDB · installed
postgresql  PostgreSQL · installed
redis       Redis · installed
sqlite      SQLite · installed
mongodb     MongoDB · installed
Selecionar driver: mysql|postgresql|redis|sqlite|mongodb
db sqlite
Database driver selected: sqlite
Selecionar driver: mysql|postgresql|redis|sqlite|mongodb
db mariadb
Database driver selected: mysql
Selecionar driver: mysql|postgresql|redis|sqlite|mongodb
db oracle
Unknown database driver: oracle
Conectar pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
Selecionar um banco pelo driver selecionado
db sqlite -use \sandbox\db\shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
Listar tabelas, coleções ou chaves pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db -t
name	type
orders	table
products	table
Mostrar a estrutura pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db -s products
cid	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	0
Pré-visualizar registros pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db -n products 2
id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.9	1
2	SHOE-2	Trail shoe	shoes	109.0	1
Pesquisar pelo driver selecionado
db 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	1
Listar bancos ou namespaces pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db -l
seq	name	file
0	main	sandbox/db/shop.sqlite
Executar a consulta ou comando nativo do driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db : SELECT COUNT(*) AS total FROM products
total
4
Time  (varies) ms
Exportar pelo driver selecionado
db 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
  }
]
Recusar um driver não suportado
db sqlite -c \sandbox\db\shop.sqlite | db -a products : {"sku":"NEW-1","name":"Sample","category":"test","price":5,"active":1}
Inserted  1
ID        5
Atualizar dados pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db -w products sku HAT-1 : {"price":24}
Updated  1
Excluir dados pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db -d products sku HAT-1
Deleted  1
Salvar a conexão atual pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db -m demo
Saved  demo
Listar ou inspecionar conexões salvas do driver selecionado
db sqlite -k
No saved connections
Conectar usando uma conexão salva do driver selecionado
db sqlite -K absent
Saved connection not found: absent
Remover uma conexão salva do driver selecionado
db sqlite -M absent
Saved connection not found: absent
Desconectar o driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db -e
+
Criar um dump pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db dump tmp/sample-db.sql
Saved  sandbox/tmp/sample-db.sql
Carregar um dump ou script pelo driver selecionado
db sqlite -c \sandbox\db\shop.sqlite | db load db/sqlite.sql
SQLite error: table products already exists

Arquivo usado neste exemplo: sandbox/db/sqlite.sql

O exemplo usa um arquivo ou diretório do espaço protegido de documentação /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);

Documentação relacionada

Versão pública atual

v1.3.42026-11-01

Refinamento de produção

Versão estável atual de db. db lembra um driver instalado e encaminha a ele uma interface compacta comum sem traduzir a linguagem nativa do motor.