SQLite dans VSCode
[Mise à jour le 9/3/2024]
En cours de modification
- Ressources
- Lectures connexes
1. Présentation
- MCD
Remarque
- Chaque client séjourne dans une à plusieurs stations
- Chaque station accueille zéro ou plusieurs clients
- MLD
Remarque : les flèches pointent vers les parents.
AVANT de COMMENCER
SQLITE3 doit être installé sur le PC (voir How To Download & Install SQLite Tools). L'extension SQLite doit être installée dans VSCode.
2. Programmation
2.1 Créer une base
- Créer un répertoire et l'ouvrir dans VSCode (Exemple ci-contre : Sejours)
- Créer un fichier avec l'extension .db (Exemple : sejour.db)
2.2 Ouvrir la base dans l'explorateur Sqlite
Exemple : sélection de sejours.db
2.3 Se connecter à la base
- Dans un nouveau projet, cliquer sur dans la barre d'état et sélectionner SQLite. Dans un projet existant, cliquer sur un fichier .sql pour faire apparaître les données dans la barre d'état.
- Cliquer sur et sélectionner la base à utiliser (Ex : sejour.db).
2.4 Créer une table
- Ressource : SQLITE tutorial - CREATE TABLE
- Renommer une table.
- Renommer une colonne.
- Ajouter une nouvelle colonne à une table.
En dehors de ces deux possibilités, la table devra être reconstruite. Le nom des attributs doit donc être choisi avec soin.
- Faire un clic droit sur le nom de la base dans SQLITE EXPLORER et sélectionner New Query.
- Une nouvelle page avec l'extension .sql s'ouvre dans l'éditeur.
- L'enregistrer avec le nom creation.sql. Les requêtes SQL de création des tables seront sauvegardées dans ce fichier.
- Entrer la requête ci-dessous dans le fichier creation.sql.
- *.sql
CREATE TABLE clients ( id INTEGER PRIMARY KEY, -- alias de rowid nom VARCHAR(50), prenom VARCHAR(50), ville VARCHAR(50), region VARCHAR(50), solde INT );
- Sélectionner la requête, faire un clic droit dessus et sélectionner Run Selected Query. Si la requête est correcte, la page ci-dessous s'ouvre pour indiquer que la table a été créé.
- Rafraîchir la base en cliquant sur l'icône dans SQLITE EXPLORER pour voir apparaître la table clients.
CONTRAINTES DE CLÉ ÉTRANGÈRE
Le paramétrage de VSCode pour la prise en charge des contraintes de clé étrangère est traité au paragraphe 3 “Contraintes d'intégrité”.
2.5 Supprimer une table
Poursuivre les modifications ici
2.6 Ajouter et modifier des données dans une table
2.6.1 Ajouter des données
- Ressource : SQLITE tutorial - INSERT INTO
Syntaxe
- *.sql
INSERT INTO table1 VALUES (valeur1-1, sur toutes les colonnes...), (valeur2-1, sur toutes les colonnes...), ...;
Exemple
- Cliquer sur l'icône pour créer une nouvelle page .sql. L'enregistrer sous le nom insertions.sql.
- Nous allons placer les requêtes SQL d'insertion des données dans les tables dans ce fichier.
Entrer la requête ci-dessous dans le fichier insertions.sql.- *.sql
-- Un seul enregistrement -- Id est automatiquement incrémenté INSERT INTO clients(nom,prenom,ville,region,solde) VALUES ('Bauer','Elmut','Berlin','Europe',9825);
- Sélectionner la requête, faire un clic droit dessus et sélectionner Run Selected Query.Si la requête est correcte, un clic sur dans SQLITE EXPLORER affiche la table comme ci-dessous.
- On peut également entrer plusieurs enregistrements dans la table comme dans la requête ci-dessous.
- *.sql
-- Plusieurs enregistrements -- Id est automatiquement incrémenté INSERT INTO clients(nom,prenom,ville,region,solde) VALUES ('Smith','John','Londres','Europe',12436), ('Jonhson','Britney','New York','Amérique',6721);
- Entrer cette requête dans le même fichier, la sélectionner et l'exécuter. La table doit maintenant correspondre à la figure ci-dessous.
2.6.2 Modifier des cellules
Syntaxe
- *.sql
UPDATE TABLE SET col1=val1 WHERE [sélection]
Exemple
- Cliquer sur l'icône pour créer une nouvelle page .sql. L'enregistrer sous le nom mises_a_jour.sql.
- Entrer la requête ci-dessous dans le fichier mises_a_jour.sql.
- *.sql
UPDATE clients SET solde = 9000 WHERE nom="Bauer";
- Sélectionner la requête, faire un clic droit dessus et sélectionner Run Selected Query.Si la requête est correcte, un clic sur dans SQLITE EXPLORER affiche la table comme ci-dessous.
2.6.3 Supprimer des lignes
Syntaxe
- *.sql
DELETE FROM table1 WHERE [sélection]
Exemple
- *.sql
DELETE FROM Clients WHERE Id>2 -- Supprime la troisième ligne dans la table
2.7 Interroger la base
- Modèle logique de données de la base sejour
2.7.1 Requête de base
- Ressource : SQLITE tutorial - SELECT
Syntaxe
- *.sql
SELECT colonne1 [AS alias1], colonne2 [AS alias2] FROM table1 [AS t1], table2 [AS t2] WHERE [critères de jointure et sélection] GROUP BY colonnei ORDER BY colonnej [ASC|DESC];
2.7.2 Sélection simple
Exemple : nom et du lieu des stations se trouvant en Europe ?
- *.sql
SELECT nomstation, lieu FROM stations WHERE region = 'Europe';
2.7.3 Tri des résultats
Exemple
- *.sql
SELECT * FROM stations ORDER BY region ASC, lieu DESC;
2.7.4 Mise en forme
Exemple : le contenu des colonnes nom et prenom est regroupé dans une colonne avec l'alias Individu.
- *.sql
SELECT prenom||' '||nom AS Individu, ville AS Ville FROM clients;
2.7.5 Fonctions de groupes (agrégation)
Exemples de fonctions
- COUNT donne le nombre de lignes d'une colonne.
- AVG calcule la moyenne d'une colonne.
- SUM calcule la somme d'une colonne
- MIN,MAX calculent le minimum et le maximum d'une colonne
Exemple : combien de stations situées en Europe sont-elles référencées dans la base de données ?
- *.sql
SELECT COUNT(nomstation) AS Nombre FROM stations WHERE region='Europe';
2.7.6 Jointures
Syntaxe
- *.sql
SELECT colonne1 [AS c1], colonne2 [AS c2] FROM table1 [AS t1] JOIN table2 [AS t2] ON t1.clea = t2.cleb AND t1.cleb = t2.cleb;
Exemple : liste (partiel) des clients avec les séjours qu'ils ont effectués.
- *.sql
SELECT nom AS "Nom Client", nomstation AS Station FROM clients JOIN sejours ON clients.id=sejours.id ORDER BY nom;