BDDR - SQLite - Requêtes dans la console
[Mise à jour le 9/7/2024]
Mots-clés : SGBDR, base, table, enregistrement, champ, requêtes, SQL.
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');
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 ...