Bases de données : inspecter l’état avant d’écrire
Choisir la cible, inspecter le schéma, voir les données, changer une chose et vérifier reste le meilleur rythme.
Une base est un état structuré
Un fichier expose directement son contenu. Une base de données présente son état par l’intermédiaire d’un moteur : tables ou collections, enregistrements, index et requêtes. Ne commencez pas par écrire. Vérifiez d’abord le pilote et la base sélectionnée, puis observez la structure existante.
Le même principe que pour les fichiers de configuration s’applique ici : travaillez avec l’objet logique — table, ligne, clé ou document — plutôt qu’avec la manière dont les données sont stockées physiquement.
`db` partage un vocabulaire, le driver reste essentiel
install md db sqlitedbdb sqlitesqliteSQLite est le terrain d’exercice le plus sûr
Un seul fichier local, sans réseau ni mot de passe : créez la table et vérifiez-la avec -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 -tStructure d’abord, lignes ensuite
-s montre champs/types, -n prévisualise les lignes. Une table vide est déjà une information utile.
sqlite -s notessqlite -n notes 10Les écritures ciblées peuvent utiliser JSON
-a et -w prennent un objet JSON après :. Contrôlez les données après chaque écriture; la suppression reste délibérée.
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 20Le SQL natif reste disponible
Agrégations et requêtes spécifiques appartiennent naturellement à la forme native après :.
sqlite : SELECT status, COUNT(*) AS count FROM notes GROUP BY statusExportation et sauvegarde répondent à des besoins différents
L’exportation produit des données portables ; la sauvegarde vise à restaurer le schéma et les données. Testez toujours la restauration avant d’en avoir réellement besoin.
sqlite -o notes -j data/notes.json -fsqlite dump data/notes.sql -fstat data/notes.sqlLes bases distantes ajoutent identifiants et réseau
Chaque moteur possède son modèle de connexion. Ne mettez jamais de vrais mots de passe dans un script réutilisable ou public.
db mysqlmysql -c localhost app shoppostgresql -c localhost app shopConservez ceci comme script
database-checkpoint.lil ouvre la base SQLite d’exercice, inspecte la table et crée une sauvegarde sans automatiser d’écritures métier.
#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