Ceci est une ancienne révision du document !
Table des matières
SQLite : une base de données SQL
Pré-requis
Installation
-
Installez le paquet sqlite3 ou en ligne de commande :
...@...:~$ sudo apt install sqlite3
Configuration
Utilisation
Avec un client graphique : SQLiteManager
En ligne de commande
-
Lancez dans un terminal :
...@...:~ $ sqlite3 SQLite version 3.31.1 2020-01-27 19:55:54 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database.
sqlite>Le prompt change et signale que vous êtes dans le terminal SQlite :
Commandes SQLite
-
.help : Lister les commandes :
sqlite> .help .archive ... Manage SQL archives
-
.exit / .quit : Quitter le programme sqlite
-
.mode MODE ?TABLE? : Mode de sortie, MODE est à choisir parmi :
-
csv : valeurs séparées par des virgules
-
column : colonnes alignées à gauche (voir .width)insert : commande SQL insert pour la table TABLEline : Une valeur par ligne[list] : Valeurs délimitées par la chaîne de séparation .separatortabs : valeurs séparées par des tabulationstcl : Liste TCL des éléments.show Affiche les valeurs actuelles des différents paramètres :
sqlite> .show echo: off eqp: off explain: auto headers: off mode: html nullvalue: "" output: stdout colseparator: "|" rowseparator: "\n" stats: off width: filename: :memory:
.databases : Liste les noms et les fichiers des bases de données associées.tables ?TABLE? : Liste les noms des tables dans la base courante. Si TABLE est spécifié, ne liste que les tables correspondant au motif TABLE..import FILE TABLE : Importer les données de FILE dans TABLE.indices ?TABLE? : Afficher les noms de tous les indices ; si TABLE est spécifiée, n'affiche que les indices correspondant au motif TABLE.output FILENAME : Envoyer la sortie vers FILENAMEsqlite> .output bd.txt sqlite> select * from bd; sqlite> cat bd.txt sqlite> .quit
.output stdout : Envoyer la sortie vers l'écran.dump ?TABLE? … : Dump de la base de données dans un format texte SQL. Si TABLE est spécifié, ne dumpe que les tables correspondant au motif TABLEsqlite> .dump bd
-
Rediriger la sortie vers un fichier puis dumper la table depuis SQLite
sqlite> .output bd.sql sqlite> .dump bd
Le résultat n'est plus affiché dans le terminal, mais redirigé vers le fichier bd.sql. Pour le vérifier il suffit d'afficher le contenu du fichier:
sqlite> .quit
...@...:~ $ cat bd.sql -
Lire directement un fichier dumpé depuis sqlite :
-
Effacez la table de la base:
sqlite> drop table bd;
Dumper une base en format SQL pour sauvegarder sa structure, ses tables et ses données :...:...$ sqlite3 livres.db .dump > livres.sql
Récupérer un fichier dumpé pour recréer la base :-
Effacez la base originale :
...@...:~ $ rm -r livres.db
-
Récupérez la base depuis le fichier de svg :
...@...:~ $ sqlite3 livres.db < livres.sql
-
Connectez-vous à la base< :
...@...:~ $ sqlite3 livres.db
Manipuler une base
Créer une base - ouvrir une base
Lancer sqlite3 avec le nom de la base :
-
sqlite3 livres.db
Si la base n'existe pas, elle sera créée. Toutes les commandes qui suivront concerneront cette base.
Détruire une base
Il suffit d'effacer son fichier .db :
-
rm livres.db
Créer une table
Dans sqlite, dans une base existante, lancer la commande :
-
CREATE TABLE bandedessinée (id integer primary key, titre VARCHAR(30), auteur VARCHAR(30), resume TEXT, num double, date_creation date);
Si le prompt apparaît après avoir tapé la commande, c'est qu'il manque le “;” à la fin de la requête. Ajoutez-le juste après le prompt validez.
Les types de données SQLite3 sont : NULL, INTEGER, REAL, TEXT et BLOB. Ce qui donne par exemple :
-
CREATE TABLE bandedessinée (id integer primary key, titre TEXT, auteur TEXT, resume TEXT, num REAL, date_creation INTEGER);
Insérer des valeurs dans la table
Un exemple :
-
INSERT INTO "bandedessinée" VALUES(1, 'tintin au congo', 'hergé', 'Tintin est au congo.', 5.0, NULL); INSERT INTO "bandedessinée" VALUES(2, 'le nid des marsupilamis', 'franquin', 'Un reportage incroyable', 6.0, date('now')); INSERT INTO "bandedessinée" VALUES(3, 'la déesse', 'moebius', 'une aventure géniale', 7.0, strftime("%Y-%m-%d %H:%M:%S",'now','localtime'));
Simple requête pour visualiser le contenu de la table
Requête de visualisation d'une table formatée en sortie COMME une insertion de valeur
Effacer une valeur dans la table
-
DELETE FROM "bandedessinée" WHERE id = 3;
Ajouter une colonne à la table
-
ALTER TABLE "bandedessinée" add column "éditeur";
Mettre à jour une valeur de la table
-
UPDATE "bandedessinée" SET éditeur ='casterman' WHERE id = 1;
Modifier le nom d'une table
-
alter table 'bandedessinée' rename to 'bd';
Désinstallation
Voir aussi
-
-










