Table des matières

Sommaire Bdd

BDDR - SQLite - Requêtes dans la console

[Mise à jour le 9/7/2024]


1. Présentation

SQLite est une bibliothèque en langage C qui implémente un petit moteur de base de données SQL complet, rapide, autonome et très fiable. C'est le moteur de base de données le plus utilisé au monde. Il est intégré à tous les téléphones mobiles et à la plupart des ordinateurs ainsi que dans d'innombrables applications que nous utilisons tous les jours.

Le code source de SQLite est dans le domaine public. Voir le lien suivant pour installer SQLite3.


2. Prise en main rapide

REMARQUE

Sur un PC sous Windows, l'utilisation de la ligne de commande peut se faire dans n'importe quel répertoire du moment que le chemin vers le fichier sqlite3.exe est dans les variables d'environnement. Sous Linux ce réglage est fait par défaut.

2.1 Connexion à une base

SQLite3, .open et .database

  • La console SQLite n'est pas activée
    Démarer sqlite3 en entrant : sqlite3 ou
    sqlite3 nom_base.db pour ouvrir la console et créer une base.

  • La console SQLite est activée
    Entrer .open nom_base (si la base n'existe pas elle sera créée).
    Remarque : entrer .database pour afficher toutes les bases de données dans la connexion actuelle.

Exemple : création de la base cinema

*.sql
sqlite>.open cinema
sqlite> .databases -- Résultat : main: C:\Users\phili\OneDrive\Bureau\agd\cinema r/w

2.2 Création d'une table

Lors de la création d’une table, il est nécessaire de définir pour chaque champ : son nom et son type.

Exemple : création de la table acteur.

*.sql
CREATE TABLE Acteur(
id INTEGER PRIMARY KEY,
prenom VARCHAR(30),
nom VARCHAR(30),
nationalite VARCHAR(6),
naissance DATE
);

.schema et .tables

La commande .schema renvoie le schéma de la table. La commande .tables renvoie la liste de toutes les tables présentes dans la base.

2.3 Insertion d'enregistrements avec INSERT INTO

On peut enregistrer une valeur à la fois ou plusieurs séparées par des virgules.

Exemple : ajout d'un acteur dans la table.

*.sql
INSERT INTO Acteur 
VALUES(1,'Keanu','Reeves','ca','1964-07-02');

2.4 Extraction de données avec SELECT

On peut sélectionner une ou plusieurs colonnes, données en paramètre. L'étoile indique que l'on sélectionne toutes les colonnes de la table.

Exemple : consultation de la table acteur.

*.sql
SELECT * FROM acteur;
 
-- Résultat
1|Keanu|Reeves|ca|1964-07-02

.headers, .mode

Pour améliorer la présentation, on utilise les commandes:
.headers ON et
.mode column

Exemple

*.sql
SELECT * FROM acteur;
 
-- Résultat
-- id  prenom  nom     nationalite  naissance
-- --  ------  ------  -----------  ----------
-- 1   Keanu   Reeves  ca           1964-07-02

2.5 Sortir de SQLite

Entrer la combinaison de touches Ctrl-C sous Windows ou .quit sous Linux


3. Utiliser un fichier d'extension .sql

Fichier d'extension

On peut créer un fichier d'extension sql pour “plus de confort”. Les requêtes sont placées entre
BEGIN TRANSACTION;
et
COMMIT;

Exemple : création du fichier requetes.sql dans le même répertoire que cinema.db pour ajouter un acteur à la table.

*.sql
BEGIN TRANSACTION;
INSERT INTO acteur VALUES('Christopher','Walken','us','1943-03-31');
COMMIT;
Ce fichier est “appliqué” à la base avec la commande : sqlite3 cinema.db < requetes.sql.

On se connecte ensuite à cinema.db pour consulter la table acteur.


Pour aller plus loin ...

Voir SQL et SQLite dans VSCode et SQLite Tutorial