Formation PUB210 : SQLite, 2018 La ligne de commande SQLite

5.1 La ligne de commande SQLite


La ligne de commande SQLite est l'endroit où vous pouvez entrer les requêtes SQL pour effectuer les opérations CRUD sur vos données.

Pour lancer la ligne de commande SQLite sous Windows, vous devez d'abord installer SQLite sur votre poste de travail et faire en sorte que son dossier fasse partie du PATH).

Sous macOS et sous Linux, tout est disponible dès le départ.

  • Ouvrez une fenêtre Terminal.
  • Lancez la commande sqlite3.
    Terminal

    sqlite3

  • Vous obtiendrez l'invite sqlite>, qui vous invite à entrer vos commandes.

    Ligne de commande SQLite sous Mac

Deux types de commandes permises

La ligne de commande SQLite permet d'entrer deux types de commandes :

  • Les commandes spéciales pour la ligne de commande. Elles débutent toutes par un point (il ne faut pas qu'il y ait d'espace avant ni après le point pour que la commande fonctionne). Par exemple, .open, .show, .backup, .exit et toutes les autres commandes listées par .help. (voir Command Line Shell For SQLite).
  • Les requêtes SQL, par exemple CREATESELECT, INSERT, UPDATE, DELETE. Chacune doit se terminer par un point-virgule.

Voici comment combiner ces deux types de commandes afin de vérifier la liste des tables de la base de données sélectionnée puis afficher les enregistrements de la table etudiants :

Ligne de commande SQLite

.tables

SELECT * FROM etudiants;

Résultat à l'écran

sqlite> .tables
etablissements  etudiants
sqlite> SELECT * FROM etudiants;

1|Desmarais|Louis|1178793
2|Bourgeois|Philippe|1161295
3|Meloche|Ariane|1182286

4|Gaumond|Mathieu|1121543

5|Rousseau|Isabelle|1119872

sqlite>

Créer une nouvelle base de données

Dès l'ouverture de la ligne de commande SQLite, le message « Connected to a transient in-memory database » peut apparaître en rouge. Ceci indique qu'aucune base de données n'est ouverte. Si vous ne faites pas attention, les opérations seront effectuées en mémoire vive dans une base de données temporaire et seront perdues lors de la fermeture de la ligne de commande.

Pour corriger la situation, deux options s'offrent à vous :

  • Créer la base de données dès le lancement de SQLite;
  • Travailler dans la base de données temporaire puis l'enregistrer dans un fichier permanent avant de sortir de la ligne de commande.

Création lors du lancement de SQLite

Lors du lancement de SQLite, dans la fenêtre de commande DOS, vous pouvez ajouter le nom de votre nouvelle base de données à la suite de la commande sqlite3. Il est d'usage d'utiliser un nom de fichier avec l'extension .db.

La base de données sera créée et toutes les opérations effectuées par la suite s'appliqueront à cette base de données.

Terminal

sqlite3 mabd.db

À tout moment, la commande .database lancée à l'invite de commande affichera le nom de la base de données sur laquelle les opérations sont appliquées.

Création d'une base de données vierge

Attention : la base de données sera créée dans le dossier courant (celui affiché dans la fenêtre de commande DOS avant de lancer la commande sqlite3). Si vous souhaitez la créer ailleurs, il faudra spécifier son chemin.

Terminal

sqlite3 \Users\votrenom\Documents\mabd.db

Travail dans la base de données temporaire

Il est également possible de travailler dans la base de données temporaire puis terminer votre travail par l'instruction .save suivie du nom à donner à la base de données.

Ligne de commande SQLite

CREATE TABLE IF NOT EXISTS categories (

id INTEGER PRIMARY KEY AUTOINCREMENT,

nom TEXT

);

.save mabd.db

Création d'une table dans la BD temporaire puis enregistrment

Ici encore, si vous désirez enregistrer le fichier ailleurs que dans le dossier courant, il faudra spécifier son chemin. Notez que contrairement à la fenêtre DOS, l'invite de commande SQLite demande que les dossiers soient séparés par des barres obliques (/).

Ligne de commande SQLite

.save /Users/votrenom/Documents/mabd.db

Se brancher à une base de données

Si vous avez déjà une base de données SQLite (fichier dont le nom se termine généralement par .db), il est possible de l'ouvrir de deux façons :

  • lors du lancement de la ligne de commande
  • à l'aide de la commande .open

Ouverture dès le lancement de la ligne de commande 

L'ajout du nom de la base de données à la suite de la commande sqlite3 permet d'ouvrir directement cette base de données.

Terminal

sqlite3 mabd.db

Si la base de données existait, elle sera ouverte. Sinon, elle sera créée. La commande .tables permettra de vérifier si la BD est vide ou non (si elle contient des tables ou non).

Ligne de commande SQLite

.tables

Ouverture d'une base de données après coup

Si vous n'avez pas spécifié le nom de la base de données dès le lancement de la ligne de commande, il est possible de quitter le mode « transcient » en ouvrant la base de données à l'aide de la commande .open

Ligne de commande SQLite

.open mabd.db

Encore ici, si le fichier n'est pas dans le dossier courant, il faudra spécifier son chemin.

Ligne de commande SQLite

.open /Users/votrenom/Documents/mabd.db

Quitter la ligne de commande

Après une séance de travail, il est important de quitter correctement la ligne de commande SQLite :

Ligne de commande SQLite

.exit

Pour plus d'information

« SQLite Tutorial ». Tutorials Point. https://www.tutorialspoint.com/sqlite/index.htm

« SQL As Understood By SQLite ». SQLite. http://www.sqlite.org/lang.html

« Command Line Shell For SQLite ». SQLite. https://sqlite.org/cli.html

« SQLite Commands ». SQLite tutorial. http://www.sqlitetutorial.net/sqlite-commands/

« Getting Started with SQLite3 – Basic Commands ». Site Point. https://www.sitepoint.com/getting-started-sqlite3-basic-commands/

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre