db

db ricorda un driver installato e gli inoltra una superficie compatta comune senza tradurre il linguaggio nativo del motore.

DatabaseVersione 1.3.4Stabile
lil-terminal

Panoramica

Usa db come specchio breve e legato alla sessione di un driver installato: scegli una volta MySQL/MariaDB, PostgreSQL, Redis, SQLite o MongoDB e riusa lo stesso prefisso per ispezione, esportazione, backup e comandi nativi.

Un prefisso, motori diversi

db è un punto di ingresso comune per i driver di database installati, non un motore separato. Ricorda il driver scelto e ne espone le operazioni condivise, mentre il testo dopo : resta nel linguaggio nativo del database. Il lavoro frequente rimane così breve senza fingere che SQL, strutture Redis e documenti MongoDB siano lo stesso modello.

Sintassi

lil-terminal
db [driver] [options]

Riferimento

db

mostrare il driver selezionato e i driver installati

db <driver>

selezionare un driver: mysql|postgresql|redis|sqlite|mongodb

-c ...

connettersi tramite il driver selezionato

-use ...

selezionare un database tramite il driver selezionato

-l

elencare database o namespace tramite il driver selezionato

-t

elencare tabelle, collection o chiavi tramite il driver selezionato

-s <name>

mostrare la struttura tramite il driver selezionato

-n <name> [rows]

mostrare un’anteprima dei record tramite il driver selezionato

-f <name> <text>

cercare tramite il driver selezionato

-o <name> ...

esportare tramite il driver selezionato

-a ...

aggiungere dati tramite il driver selezionato

-w ...

aggiornare dati tramite il driver selezionato

-d ...

eliminare dati tramite il driver selezionato

-m [name]

salvare la connessione corrente tramite il driver selezionato

-M <name>

rimuovere una connessione salvata del driver selezionato

-k [name]

elencare o esaminare le connessioni salvate del driver selezionato

-K <name>

connettersi usando una connessione salvata del driver selezionato

-e

disconnettere il driver selezionato

db : <native>

eseguire la query o il comando nativo del driver selezionato

db dump ...

creare un dump tramite il driver selezionato

db load <file>

caricare un dump o script tramite il driver selezionato

A cosa serve

db seleziona un driver installato e gli inoltra i comandi: non è un database autonomo né traduce SQL, Redis o MongoDB. Usa db sqlite per un file e db mysql per un server.

Passaggi pratici

Dopo db sqlite -c \sandbox\db\shop.sqlite, db -t mostra le tabelle, db -n products 2 due righe e db -f cerca. db : invia la sintassi del motore; db mariadb seleziona MySQL senza installarlo.

Limiti e sicurezza

La scelta resta nella sessione PHP. -m salva facoltativamente un profilo sensibile in .lil.key; -k/-K/-M lo elencano, riutilizzano o cancellano. Fai backup prima delle scritture e verifica le estensioni PHP; gli esempi non usano dati reali.

Anteprima interattiva del sandbox

Esegui gli esempi preparati direttamente nella pagina. I risultati sono predefiniti e mostrati nel browser; sul server non viene eseguito alcun comando del terminale.

Scegliere SQLite e ispezionare una tabella

Installa e gestisci

Installa la versione compatibile corrente. Scegli Base per tutte le funzioni o Minimum per il pacchetto ridotto; usa upgrade per aggiornare un modulo già installato.

Base e Minimum sono due pacchetti della stessa release corrente del modulo.

Pacchetto Base

Installa il pacchetto completo con riferimento locale e tutte le modalità pubblicate.

install db
Pacchetto Minimum

Installa il pacchetto ridotto. Il riferimento locale è omesso; help <cmd> -i apre il riferimento server corrente.

install db -m
Versione pubblica esatta

Installa esattamente questa versione pubblicata.

install db -v 1.3.4
Controlla o aggiorna

upgrade controlla la compatibilità e sostituisce il blocco solo quando serve.

upgrade db
Rimuovi modulo

Rimuove il blocco estensione senza toccare core e altri moduli.

install db -u

Esempi

Gli esempi sono copiabili ma il sito non li esegue. Controlla percorsi, permessi e opzioni distruttive.

Scegliere SQLite e ispezionare una tabella
db
No database driver selected
mysql       MySQL / MariaDB · installed
postgresql  PostgreSQL · installed
redis       Redis · installed
sqlite      SQLite · installed
mongodb     MongoDB · installed
Selezionare un driver: mysql|postgresql|redis|sqlite|mongodb
db sqlite
Database driver selected: sqlite
Selezionare un driver: mysql|postgresql|redis|sqlite|mongodb
db mariadb
Database driver selected: mysql
Selezionare un driver: mysql|postgresql|redis|sqlite|mongodb
db oracle
Unknown database driver: oracle
Connettersi tramite il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
Selezionare un database tramite il driver selezionato
db sqlite -use \sandbox\db\shop.sqlite
Status  connected
File    sandbox/db/shop.sqlite
SQLite  (version depends on the host)
Elencare tabelle, collection o chiavi tramite il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db -t
name	type
orders	table
products	table
Mostrare la struttura tramite il driver selezionato
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
Mostrare un’anteprima dei record tramite il driver selezionato
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
Cercare tramite il driver selezionato
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
Elencare database o namespace tramite il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db -l
seq	name	file
0	main	sandbox/db/shop.sqlite
Eseguire la query o il comando nativo del driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db : SELECT COUNT(*) AS total FROM products
total
4
Time  (varies) ms
Esportare tramite il driver selezionato
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
  }
]
Rifiutare un driver non supportato
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
Aggiornare dati tramite il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db -w products sku HAT-1 : {"price":24}
Updated  1
Eliminare dati tramite il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db -d products sku HAT-1
Deleted  1
Salvare la connessione corrente tramite il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db -m demo
Saved  demo
Elencare o esaminare le connessioni salvate del driver selezionato
db sqlite -k
No saved connections
Connettersi usando una connessione salvata del driver selezionato
db sqlite -K absent
Saved connection not found: absent
Rimuovere una connessione salvata del driver selezionato
db sqlite -M absent
Saved connection not found: absent
Disconnettere il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db -e
+
Creare un dump tramite il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db dump tmp/sample-db.sql
Saved  sandbox/tmp/sample-db.sql
Caricare un dump o script tramite il driver selezionato
db sqlite -c \sandbox\db\shop.sqlite | db load db/sqlite.sql
SQLite error: table products already exists

File usato in questo esempio: sandbox/db/sqlite.sql

L’esempio usa un file o una directory dell’area di documentazione protetta /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);

Documentazione correlata

Versione pubblica attuale

v1.3.42026-11-01

Rifinitura di produzione

Versione stabile attuale di db. db ricorda un driver installato e gli inoltra una superficie compatta comune senza tradurre il linguaggio nativo del motore.