Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
les_fiches_revisions:bases_de_donnees:sql [2021/12/26 15:51] ma |
les_fiches_revisions:bases_de_donnees:sql [2023/01/18 10:27] (Version actuelle) hk ancienne révision (2022/01/08 16:43) restaurée |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======Langage SQL : requêtes d’interrogation et de mise à jour d’une base de données====== | ======Langage SQL : requêtes d’interrogation et de mise à jour d’une base de données====== | ||
+ | Si vous ne comprenez pas le résumé, cliquez sur la commande qui vous conduira a sa page sur ce wiki. | ||
- | =====I. Création d'une base de donnée (sur DB Browser for SQLite)===== | + | |
+ | =====I. Résumé===== | ||
+ | |||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | CREATE TABLE nom | ||
+ | (attribut1 domaine1, attribut2 domaine2); | ||
+ | </ | ||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | SELECT attributs | ||
+ | FROM table1 | ||
+ | </ | ||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | SELECT DISTINCT attribut | ||
+ | FROM nom_table | ||
+ | </ | ||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | WHERE condition | ||
+ | |||
+ | WHERE condition1 AND condition2 | ||
+ | |||
+ | WHERE condition1 OR condition2 | ||
+ | </ | ||
+ | |||
+ | Rappel: Les // | ||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | ORDER BY attribut | ||
+ | |||
+ | ORDER BY attribut1, attribut2 | ||
+ | |||
+ | ORDER BY attribut DESC | ||
+ | </ | ||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | SELECT attributs | ||
+ | FROM table1 | ||
+ | INNER JOIN table2 ON table1.attribut = table2.attribut | ||
+ | </ | ||
+ | |||
+ | **SELECT complexe** - Exemple | ||
+ | <code sql> | ||
+ | SELECT attributs | ||
+ | FROM table1 | ||
+ | INNER JOIN table2 ON table1.attribut = table2.attribut | ||
+ | WHERE condition1 AND (condition2 OR condition3) | ||
+ | ORDER BY table1.attribut, | ||
+ | </ | ||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | INSERT INTO nom_table | ||
+ | (attribut1, attribut2, attribut3) | ||
+ | VALUES | ||
+ | (" | ||
+ | </ | ||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | UPDATE nom_table | ||
+ | SET attribut1=" | ||
+ | WHERE condition | ||
+ | </ | ||
+ | |||
+ | [[les_fiches_revisions: | ||
+ | <code sql> | ||
+ | DELETE FROM nom_table | ||
+ | WHERE condition | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====II. Création d'une base de donnée (sur DB Browser for SQLite)===== | ||
- Allumez //DB Browser for SQLite// | - Allumez //DB Browser for SQLite// | ||
Ligne 37: | Ligne 118: | ||
- | =====II. Créer une relation===== | + | =====III. Créer une relation===== |
**CREATE TABLE** est la commande qui permet de créer un relation, en lui attribuant des attributs et leur domaine | **CREATE TABLE** est la commande qui permet de créer un relation, en lui attribuant des attributs et leur domaine | ||
Ligne 62: | Ligne 143: | ||
- | =====III. Visualiser une relation===== | + | =====IV. Visualiser une relation===== |
Ligne 93: | Ligne 174: | ||
FROM ABONNEMENT | FROM ABONNEMENT | ||
</ | </ | ||
- | {{https:// | + | |
^ id ^ nom ^ prix ^ durée_mois | ^ id ^ nom ^ prix ^ durée_mois | ||
| 1 | | 1 | ||
Ligne 387: | Ligne 468: | ||
+ | =====V. Modifier une relation===== | ||
+ | |||
+ | ====A) INSERT==== | ||
+ | |||
+ | **INSERT INTO** permet de rajouter des lignes à une relation | ||
+ | |||
+ | ===1. Code=== | ||
+ | |||
+ | <code sql> | ||
+ | INSERT INTO nom_table | ||
+ | (attribut1, attribut2, attribut3) | ||
+ | VALUES | ||
+ | (" | ||
+ | </ | ||
+ | |||
+ | ===2. Exemple=== | ||
+ | |||
+ | <code sql> | ||
+ | INSERT INTO CLIENTS | ||
+ | (id, prenom, nom, ville, age, id_abonnement) | ||
+ | VALUES | ||
+ | (1, ' | ||
+ | (2, ' | ||
+ | (3, ' | ||
+ | (4, ' | ||
+ | (5, ' | ||
+ | (6, ' | ||
+ | (7, ' | ||
+ | (8, ' | ||
+ | (9, ' | ||
+ | (10, ' | ||
+ | </ | ||
+ | |||
+ | Cela rajoutera à la relation ceci (visible grace à [[les_fiches_revisions: | ||
+ | ^ id ^ prenom | ||
+ | | 1 | ||
+ | | 2 | ||
+ | | 3 | ||
+ | | 4 | ||
+ | | 5 | ||
+ | | 6 | ||
+ | | 7 | ||
+ | | 8 | ||
+ | | 9 | ||
+ | | 10 | | ||
+ | |||
+ | |||
+ | ====B) UPDATE==== | ||
+ | |||
+ | Update est un mot anglais qui veut dire mettre à jour.\\ | ||
+ | **UPDATE** permet de changer certaines valeurs d'une relation en précisant une condition grâce à [[les_fiches_revisions: | ||
+ | |||
+ | ===1. Code=== | ||
+ | |||
+ | <code sql> | ||
+ | UPDATE nom_table | ||
+ | SET attribut1=" | ||
+ | WHERE condition | ||
+ | </ | ||
+ | |||
+ | Si vous ne préciser pas WHERE toutes les lignes seront modifiés !!! | ||
+ | |||
+ | ===2. Exemple=== | ||
+ | |||
+ | Scénario: L' | ||
+ | |||
+ | Si la relation ABONNEMENT ressemblait à ceci (visible grâce à : [[les_fiches_revisions: | ||
+ | ^ id ^ nom ^ prix ^ durée_mois | ||
+ | | 1 | ||
+ | | 2 | ||
+ | | 3 | ||
+ | | 4 | ||
+ | |||
+ | Après ce code | ||
+ | <code sql> | ||
+ | UPDATE ABONNEMENT | ||
+ | SET prix=15 | ||
+ | WHERE id=3 | ||
+ | </ | ||
+ | |||
+ | Elle ressemblera à ça | ||
+ | ^ id ^ nom ^ prix ^ durée_mois | ||
+ | | 1 | ||
+ | | 2 | ||
+ | | 3 | ||
+ | | 4 | ||
+ | |||
+ | ====C) DELETE==== | ||
+ | |||
+ | Delete est un mot anglais qui veut dire supprimer.\\ | ||
+ | **DELETE FROM** permet de supprimer certaines lignes d'une relation en précisant lesquels grâce à [[les_fiches_revisions: | ||
+ | |||
+ | ===1. Code=== | ||
+ | |||
+ | <code sql> | ||
+ | DELETE FROM nom_table | ||
+ | WHERE condition | ||
+ | </ | ||
+ | |||
+ | Si une condition n'est pas préciser, alors toutes les lignes seront supprimée.\\ | ||
+ | |||
+ | ===2. Exemple=== | ||
+ | |||
+ | Scénario: Le client //Jean Simon// n'a pas renouvelé son abonnement donc il est supprimé de la relation | ||
+ | |||
+ | Si la relation ABONNEMENT ressemblait à ceci (visible grâce à : [[les_fiches_revisions: | ||
+ | ^ id ^ prenom | ||
+ | | 1 | ||
+ | | 2 | ||
+ | | 3 | ||
+ | | 4 | ||
+ | | 5 | ||
+ | | 6 | ||
+ | | 7 | ||
+ | | 8 | ||
+ | | 9 | ||
+ | | 10 | | ||
+ | |||
+ | Après ce code | ||
+ | <code sql> | ||
+ | DELETE FROM CLIENTS | ||
+ | WHERE id=2 | ||
+ | </ | ||
+ | |||
+ | Elle ressemblera à ça: | ||
+ | ^ id ^ prenom | ||
+ | | 1 | ||
+ | | 3 | ||
+ | | 4 | ||
+ | | 5 | ||
+ | | 6 | ||
+ | | 7 | ||
+ | | 8 | ||
+ | | 9 | ||
+ | | 10 | | ||