[[info:bdd:accueilbdd|{{ :iconemaison.jpg?nolink&25|Sommaire Bdd}}]] ===== SQLite dans VSCode ===== [Mise à jour le 9/3/2024]
En cours de modification
{{ :info:bdd:sqlite.jpg?nolink&250|}} * **Ressources** * Le langage SQL * How To Download & Install SQLite Tools * Command Line Shell For SQLite * **Lectures connexes** * [[info:bdd:basesgene|Wiki - BDDR : généralités]] * [[:info:bdd:sqliteConsole|Wiki - BDDR - SQLite - Requêtes dans la console]] * [[:info:bdd:basesql|Wiki - BDDR - MySQL - Requêtes dans la console]] ---- ==== 1. Présentation ====
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éé. {{ :info:bdd:sejour5.png?nolink|}} {{ :info:bdd:sejour3.png?nolink&600 |}}
- Rafraîchir la base en cliquant sur l'icône {{:info:bdd:sejour4.png?nolink|}} dans **SQLITE EXPLORER** pour voir apparaître la table //clients//.
Poursuivre les modifications ici
\\ === 2.6 Ajouter et modifier des données dans une table === {{ :web:insertinto.png?nolink|}} == 2.6.1 Ajouter des données == * **Ressource** : SQLITE tutorial - INSERT INTO //Syntaxe//
INSERT INTO table1 VALUES
(valeur1-1, sur toutes les colonnes...),
(valeur2-1, sur toutes les colonnes...),
...;
//Exemple//
- Cliquer sur l'icône {{:informatique:bdd:sqlitevs9.png?nolink|}} 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//.
-- 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 {{:info:bdd:sejour7.png?nolink|}} dans **SQLITE EXPLORER** affiche la table comme ci-dessous.{{ :info:bdd:sejour6.png?nolink |}}
- On peut également entrer plusieurs enregistrements dans la table comme dans la requête ci-dessous.
-- 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. \\
{{ :web:update.png?nolink|}}
== 2.6.2 Modifier des cellules ==
//Syntaxe//
UPDATE table SET col1=val1
WHERE [sélection]
//Exemple//
- Cliquer sur l'icône {{:info:bdd:sqlitevs9.png?nolink|}} 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//.
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 {{:info:bdd:sejour7.png?nolink|}} dans **SQLITE EXPLORER** affiche la table comme ci-dessous. {{ :info:bdd:sejour9.png?nolink |}}
{{ :web:deletefrom.png?nolink|}}
== 2.6.3 Supprimer des lignes ==
//Syntaxe//
DELETE FROM table1
WHERE [sélection]
//Exemple//
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
{{ :informatique:bdd:mldsejours.png?nolink |}}
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];
{{ :web:selectfrom.png?nolink|}}
== 2.7.2 Sélection simple ==
{{ :informatique:bdd:sqlitevs14.png?nolink&180|}}
SELECT nomstation, lieu
FROM stations
WHERE region = 'Europe';
== 2.7.3 Tri des résultats ==
SELECT *
FROM stations
ORDER BY region ASC, lieu DESC;
{{ :informatique:bdd:sqlitevs15.png?nolink&500 |}}
== 2.7.4 Mise en forme ==
{{ :informatique:bdd:sqlitevs16.png?nolink&220|}}
SELECT prenom||' '||nom AS Individu, ville AS Ville
FROM clients;
== 2.7.5 Fonctions de groupes (agrégation) ==
SELECT COUNT(nomstation) AS Nombre
FROM stations
WHERE region='Europe';
== 2.7.6 Jointures ==
{{ :informatique:bdd:sqlitevs18.png?nolink&220|}}
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.
SELECT nom AS "Nom Client", nomstation AS Station
FROM clients
JOIN sejours ON clients.id=sejours.id
ORDER BY nom;
\\
==== 3. Contraintes d'intégrité ====
* **Ressources** : SQLITE tutorial - FOREIGN KEY et Extension VSCode SQLite
A faire