Ceci est une ancienne révision du document !
SQLite dans VSCode
[Mise à jour le 8/3/2024]
En cours de modification
- Ressources
- Lectures connexes
1. Présentation
- MCD
Remarque
- Chaque client séjourne dans une à plusieurs station
- Chaque station accueille zéro ou plusieurs clients
- MLD
Remarque : les flèches pointent vers les parents.
PREALABLE
SQLITE3 doit être installé sur le PC. Voir How To Download & Install SQLite Tools2. 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
Cliquer sur SQLite dans la barre d'état : puis sélectionner la base de données .
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 creationtables.sql.
- Nous allons placer les requêtes SQL de création des tables dans ce fichier.
Entrer la requête ci-dessous dans le fichier creationtables.sql.- *.sql
CREATE TABLE clients ( id INTEGER PRIMARY KEY, 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.
A voir
Le paramétrage de VSCode pour la prise en compte des contraintes de clé étrangère est traité au paragraphe 3 “Contraintes d'intégrité”.2.5 Supprimer une table
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;