Database: ispeziona lo stato prima di scrivere
Scegliere il target, vedere la struttura, leggere i dati, cambiare una cosa e verificare resta il ritmo più sicuro.
Un database è stato strutturato
Un file mostra direttamente il proprio contenuto. Un database espone lo stato tramite un motore: tabelle o collezioni, record, indici e query. Non iniziare con una scrittura. Prima verifica il driver e il database selezionato, poi osserva la struttura già presente.
Vale lo stesso principio dei file di configurazione: lavora con l’oggetto logico — tabella, riga, chiave o documento — invece di ragionare su come i dati sono memorizzati fisicamente.
`db` condivide il vocabolario, il driver conta ancora
install md db sqlitedbdb sqlitesqliteSQLite è il posto più sicuro per imparare
È un file locale senza rete o password. Crea la tabella di prova e controllala con -t.
cd lil-playgroundmd datasqlite -c data/notes.sqlite -fsqlite : CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, title TEXT NOT NULL, status TEXT NOT NULL)sqlite -tPrima struttura, poi righe
-s mostra campi e tipi; -n offre una previsione. Una tabella vuota è comunque un risultato informativo.
sqlite -s notessqlite -n notes 10Le scritture mirate possono usare JSON
-a e -w ricevono un oggetto JSON dopo :. Controlla dopo ogni write e tratta delete come scelta deliberata.
sqlite -a notes : {"title":"First terminal note","status":"draft"}sqlite -a notes : {"title":"Archive project","status":"done"}sqlite -n notes 10sqlite -w notes title "First terminal note" : {"status":"reviewed"}sqlite -f notes reviewed 20SQL nativo rimane disponibile
Aggregazioni e query specifiche appartengono naturalmente alla forma nativa con :.
sqlite : SELECT status, COUNT(*) AS count FROM notes GROUP BY statusEsportazione e backup sono operazioni diverse
L’esportazione produce dati portabili; il backup conserva schema e dati per il ripristino. Provate il ripristino prima di averne bisogno in un’emergenza.
sqlite -o notes -j data/notes.json -fsqlite dump data/notes.sql -fstat data/notes.sqlI database remoti aggiungono credenziali e rete
Ogni engine ha il proprio modello di connessione. Non mettere password reali in script riutilizzabili o pubblici.
db mysqlmysql -c localhost app shoppostgresql -c localhost app shopConservalo come script
database-checkpoint.lil apre il database SQLite di prova, ispeziona la tabella e crea un backup senza automatizzare scritture applicative.
#lil
@install md sqlite
cd lil-playground
md data
sqlite -c data/notes.sqlite -f
sqlite : CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, title TEXT NOT NULL, status TEXT NOT NULL)
sqlite -t
sqlite -n notes 10
sqlite dump data/notes.sql -f