db

db recuerda un controlador instalado y le reenvía una superficie compacta común sin traducir el lenguaje nativo del motor.

Base de datosVersión 1.3.4Estable
lil-terminal

Resumen

Use db como espejo corto y ligado a la sesión de un controlador instalado: elija una vez MySQL/MariaDB, PostgreSQL, Redis, SQLite o MongoDB y reutilice el mismo prefijo para inspección, exportación, copias y comandos nativos.

Un prefijo, motores distintos

db es un punto de entrada común para los controladores de base de datos instalados, no un motor propio. Recuerda el controlador elegido y expone sus operaciones compartidas, mientras que el texto después de : permanece en el lenguaje nativo de la base de datos. Así el trabajo rutinario es breve sin fingir que SQL, las estructuras de Redis y los documentos de MongoDB son el mismo modelo.

Sintaxis

lil-terminal
db [driver] [options]

Referencia

db

mostrar el controlador seleccionado y los controladores instalados

db <driver>

seleccionar controlador: mysql|postgresql|redis|sqlite|mongodb

-c ...

conectarse mediante el controlador seleccionado

-use ...

seleccionar una base de datos mediante el controlador seleccionado

-l

listar bases de datos o espacios de nombres mediante el controlador seleccionado

-t

listar tablas, colecciones o claves mediante el controlador seleccionado

-s <name>

mostrar la estructura mediante el controlador seleccionado

-n <name> [rows]

previsualizar registros mediante el controlador seleccionado

-f <name> <text>

buscar mediante el controlador seleccionado

-o <name> ...

exportar mediante el controlador seleccionado

-a ...

añadir datos mediante el controlador seleccionado

-w ...

actualizar datos mediante el controlador seleccionado

-d ...

eliminar datos mediante el controlador seleccionado

-m [name]

guardar la conexión actual mediante el controlador seleccionado

-M <name>

eliminar una conexión guardada del controlador seleccionado

-k [name]

listar o inspeccionar conexiones guardadas del controlador seleccionado

-K <name>

conectar usando una conexión guardada del controlador seleccionado

-e

desconectar el controlador seleccionado

db : <native>

ejecutar la consulta o el comando nativo del controlador seleccionado

db dump ...

crear un volcado mediante el controlador seleccionado

db load <file>

cargar un volcado o script mediante el controlador seleccionado

Para qué sirve

db elige un controlador instalado y le envía los comandos; no es una base de datos ni traduce entre SQL, Redis y MongoDB. Usa db sqlite para archivos y db mysql para un servidor.

Pasos prácticos

Tras db sqlite -c \sandbox\db\shop.sqlite, db -t enumera tablas, db -n products 2 consulta filas y db -f busca. db : ejecuta la sintaxis propia del motor; db mariadb selecciona MySQL sin instalarlo.

Límites y seguridad

La selección dura una sesión PHP. -m guarda opcionalmente un perfil sensible en .lil.key; -k/-K/-M permiten verlo, reutilizarlo y borrarlo. Haz copias antes de cambiar datos y comprueba las extensiones PHP. Los ejemplos son independientes de tu servidor.

Vista interactiva del sandbox

Ejecuta los ejemplos preparados directamente en la página. Los resultados están predefinidos y se muestran en el navegador; no se ejecuta ningún comando de terminal en el servidor.

Elegir SQLite e inspeccionar una tabla

Instalar y administrar

Instala la versión compatible actual. Elige Base para el conjunto completo de funciones o Minimum para el paquete reducido; usa upgrade para actualizar un módulo ya instalado.

Base y Minimum son dos paquetes de la misma versión actual del módulo.

Paquete Base

Instala el paquete completo con referencia local y todos los modos publicados.

install db
Paquete Minimum

Instalar el paquete reducido. No incluye la referencia local; help <cmd> -i abre la referencia actual del servidor.

install db -m
Versión pública exacta

Instalar exactamente esta versión publicada.

install db -v 1.3.4
Comprobar o actualizar

upgrade comprueba la compatibilidad y sustituye el bloque solo cuando hace falta.

upgrade db
Eliminar módulo

Elimina el bloque de extensión sin tocar el núcleo ni otros módulos.

install db -u

Ejemplos

Los ejemplos se pueden copiar, pero el sitio no los ejecuta. Revisa rutas, permisos y opciones destructivas.

Elegir SQLite e inspeccionar una tabla
db
No database driver selected
mysql       MySQL / MariaDB · installed
postgresql  PostgreSQL · installed
redis       Redis · installed
sqlite      SQLite · installed
mongodb     MongoDB · installed
Seleccionar controlador: mysql|postgresql|redis|sqlite|mongodb
db sqlite
Database driver selected: sqlite
Seleccionar controlador: mysql|postgresql|redis|sqlite|mongodb
db mariadb
Database driver selected: mysql
Seleccionar controlador: mysql|postgresql|redis|sqlite|mongodb
db oracle
Unknown database driver: oracle
Conectarse mediante el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
Seleccionar una base de datos mediante el controlador seleccionado
db sqlite -use \sandbox\db\shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
Listar tablas, colecciones o claves mediante el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db -t
name	type
orders	table
products	table
Mostrar la estructura mediante el controlador seleccionado
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
Previsualizar registros mediante el controlador seleccionado
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
Buscar mediante el controlador seleccionado
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 bases de datos o espacios de nombres mediante el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db -l
seq	name	file
0	main	sandbox/db/shop.sqlite
Ejecutar la consulta o el comando nativo del controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db : SELECT COUNT(*) AS total FROM products
total
4
Time  (varies) ms
Exportar mediante el controlador seleccionado
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
  }
]
Rechazar un controlador no compatible
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
Actualizar datos mediante el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db -w products sku HAT-1 : {"price":24}
Updated  1
Eliminar datos mediante el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db -d products sku HAT-1
Deleted  1
Guardar la conexión actual mediante el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db -m demo
Saved  demo
Listar o inspeccionar conexiones guardadas del controlador seleccionado
db sqlite -k
No saved connections
Conectar usando una conexión guardada del controlador seleccionado
db sqlite -K absent
Saved connection not found: absent
Eliminar una conexión guardada del controlador seleccionado
db sqlite -M absent
Saved connection not found: absent
Desconectar el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db -e
+
Crear un volcado mediante el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db dump tmp/sample-db.sql
Saved  sandbox/tmp/sample-db.sql
Cargar un volcado o script mediante el controlador seleccionado
db sqlite -c \sandbox\db\shop.sqlite | db load db/sqlite.sql
SQLite error: table products already exists

Archivo usado en este ejemplo: sandbox/db/sqlite.sql

El ejemplo usa un archivo o directorio del espacio protegido de documentación /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);

Documentación relacionada

Versión pública actual

v1.3.42026-11-01

Refinamiento de producción

Versión estable actual de db. db recuerda un controlador instalado y le reenvía una superficie compacta común sin traducir el lenguaje nativo del motor.