Outils pour utilisateurs

Outils du site


les_fiches_revisions:bases_de_donnees:sql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:bases_de_donnees:sql#III. Créer une relation|*CREATE TABLE*]] => Créer une relation 
 +<code sql> 
 +CREATE TABLE nom 
 +(attribut1 domaine1, attribut2 domaine2); 
 +</code> 
 + 
 +[[les_fiches_revisions:bases_de_donnees:sql#A) SELECT|*SELECT*]] => Montre la relation 
 +<code sql> 
 +SELECT attributs 
 +FROM table1 
 +</code> 
 + 
 +[[les_fiches_revisions:bases_de_donnees:sql#B) SELECT DISTINCT|*SELECT DISTINCT*]] => Montre la relation sans doublons 
 +<code sql> 
 +SELECT DISTINCT attribut 
 +FROM nom_table 
 +</code> 
 + 
 +[[les_fiches_revisions:bases_de_donnees:sql#C) WHERE|*WHERE*]] => Ajout de conditions ("filtre") - Ajouté à **SELECT**, **UPDATE** et **REMOVE** 
 +<code sql> 
 +WHERE condition 
 + 
 +WHERE condition1 AND condition2 
 + 
 +WHERE condition1 OR condition2 
 +</code> 
 + 
 +Rappel: Les //conditions// sont sous cette forme:  attribut=valeur 
 + 
 +[[les_fiches_revisions:bases_de_donnees:sql#D) ORDER BY|*ORDER BY*]] => Ajout à **SELECT** pour trier 
 +<code sql> 
 +ORDER BY attribut 
 + 
 +ORDER BY attribut1, attribut2 
 + 
 +ORDER BY attribut DESC 
 +</code> 
 + 
 +[[les_fiches_revisions:bases_de_donnees:sql#E) JOIN|*INNER JOIN*]] => Jointure de deux bases de donnée - Ajout à **SELECT** 
 +<code sql> 
 +SELECT attributs 
 +FROM table1 
 +INNER JOIN table2 ON table1.attribut = table2.attribut 
 +</code> 
 + 
 +**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, table2.attribut DESC 
 +</code> 
 + 
 +[[les_fiches_revisions:bases_de_donnees:sql#A) INSERT|*INSERT*]] => Ajoute des lignes à une relation 
 +<code sql> 
 +INSERT INTO nom_table 
 +(attribut1, attribut2, attribut3) 
 +VALUES 
 +("valeur1", "valeur2", "valeur3"
 +</code> 
 + 
 +[[les_fiches_revisions:bases_de_donnees:sql#B) UPDATE|*UPDATE*]] => Change certaines lignes d'une relation 
 +<code sql> 
 +UPDATE nom_table 
 +SET attribut1="valeur1", attribut2="valeur2" 
 +WHERE condition 
 +</code> 
 + 
 +[[les_fiches_revisions:bases_de_donnees:sql#C) DELETE|*DELETE*]] => Supprimes certaines lignes d'une relation 
 +<code sql> 
 +DELETE FROM nom_table 
 +WHERE condition 
 +</code> 
 + 
 + 
 +=====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
 </code> </code>
-{{https://4.bp.blogspot.com/-OBlxzjGi6rw/WyJueft2A0I/AAAAAAAAAR0/8ll4fthA1XM0_TKEBOMJdZQv4r9_5QQIgCLcBGAs/s1600/arrow%2Bdown%2Banimated.gif?100}}+
 ^  id  ^    nom    ^  prix  ^  durée_mois  ^  session  ^ ^  id  ^    nom    ^  prix  ^  durée_mois  ^  session  ^
 |  1      Eco    |   10        27      |         | |  1      Eco    |   10        27      |         |
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
 +("valeur1", "valeur2", "valeur3")
 +</code>
 +
 +===2. Exemple===
 +
 +<code sql>
 +INSERT INTO CLIENTS
 +(id, prenom, nom, ville, age, id_abonnement)
 +VALUES
 +(1, 'Annie', 'Martin', 'Paris', 25, 3),
 +(2, 'Jean', 'Simon', 'Nantes', 34, 3),
 +(3, 'Marc', 'Duval', 'Paris', 56, 1),
 +(4, 'Margot', 'Fournier', 'Lyon', 24, 2),
 +(5, 'Paul', 'Ledoux', 'Nantes', 31, 1),
 +(6, 'Anne', 'Lacroix', 'Paris', 47, 4),
 +(7, 'Chloé', 'Olivier', 'Lyon', 67, 3),
 +(8, 'Marie', 'Arnaud', 'Paris', 33, 4),
 +(9, 'Frank', 'Guillet', 'Paris', 22, 1),
 +(10, 'John', 'Gilles', 'Lyon', 39, 2);
 +</code>
 +
 +Cela rajoutera à la relation ceci (visible grace à [[les_fiches_revisions:bases_de_donnees:sql#IV. Visualiser une relation|SELECT]]):
 +^  id  ^  prenom  ^    nom      ville    age  ^  id_abonnement  ^
 +|  1    Annie     Martin    Paris    25          3        |
 +|  2     Jean     Simon    |  Nantes  |  34          3        |
 +|  3     Marc     Duval    |  Paris    56          1        |
 +|  4    Margot  |  Fournier  |   Lyon    24          2        |
 +|  5     Paul     Ledoux    Nantes  |  31          1        |
 +|  6     Anne    Lacroix    Paris    47          4        |
 +|  7    Chloé    Olivier     Lyon    67          3        |
 +|  8    Marie     Arnaud    Paris    33          4        |
 +|  9    Frank    Guillet    Paris    22          1        |
 +|  10  |   John     Gilles     Lyon    39          2        |
 +
 +
 +====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:bases_de_donnees:sql#C) WHERE|WHERE]]
 +
 +===1. Code===
 +
 +<code sql>
 +UPDATE nom_table
 +SET attribut1="valeur1", attribut2="valeur2"
 +WHERE condition
 +</code>
 +
 +Si vous ne préciser pas WHERE toutes les lignes seront modifiés !!!
 +
 +===2. Exemple===
 +
 +Scénario: L'abonnement Simple à changé de prix, il est passé de 20€ à 15€
 +
 +Si la relation ABONNEMENT ressemblait à ceci (visible grâce à : [[les_fiches_revisions:bases_de_donnees:sql#IV. Visualiser une relation|SELECT]]
 +^  id  ^    nom    ^  prix  ^  durée_mois  ^  session  ^
 +|  1      Eco    |   10        27      |         |
 +|  2    Famille  |   15        27      |         |
 +|  3    Simple     20        12      |         |
 +|  4      Pro    |   40        24      |    20     |
 +
 +Après ce code
 +<code sql>
 +UPDATE ABONNEMENT
 +SET prix=15
 +WHERE id=3
 +</code>
 +
 +Elle ressemblera à ça
 +^  id  ^    nom    ^  prix  ^  durée_mois  ^  session  ^
 +|  1      Eco    |   10        27      |         |
 +|  2    Famille  |   15        27      |         |
 +|  3    Simple     15        12      |         |
 +|  4      Pro    |   40        24      |    20     |
 +
 +====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:bases_de_donnees:sql#C) WHERE|WHERE]]
 +
 +===1. Code===
 +
 +<code sql>
 +DELETE FROM nom_table
 +WHERE condition
 +</code>
 +
 +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:bases_de_donnees:sql#IV. Visualiser une relation|SELECT]]
 +^  id  ^  prenom  ^    nom      ville    age  ^  id_abonnement  ^
 +|  1    Annie     Martin    Paris    25          3        |
 +|  2     Jean     Simon    |  Nantes  |  34          3        |
 +|  3     Marc     Duval    |  Paris    56          1        |
 +|  4    Margot  |  Fournier  |   Lyon    24          2        |
 +|  5     Paul     Ledoux    Nantes  |  31          1        |
 +|  6     Anne    Lacroix    Paris    47          4        |
 +|  7    Chloé    Olivier     Lyon    67          3        |
 +|  8    Marie     Arnaud    Paris    33          4        |
 +|  9    Frank    Guillet    Paris    22          1        |
 +|  10  |   John     Gilles     Lyon    39          2        |
 +
 +Après ce code
 +<code sql>
 +DELETE FROM CLIENTS
 +WHERE id=2
 +</code>
 +
 +Elle ressemblera à ça:
 +^  id  ^  prenom  ^    nom      ville    age  ^  id_abonnement  ^
 +|  1    Annie     Martin    Paris    25          3        |
 +|  3     Marc     Duval    |  Paris    56          1        |
 +|  4    Margot  |  Fournier  |   Lyon    24          2        |
 +|  5     Paul     Ledoux    Nantes  |  31          1        |
 +|  6     Anne    Lacroix    Paris    47          4        |
 +|  7    Chloé    Olivier     Lyon    67          3        |
 +|  8    Marie     Arnaud    Paris    33          4        |
 +|  9    Frank    Guillet    Paris    22          1        |
 +|  10  |   John     Gilles     Lyon    39          2        |
  
les_fiches_revisions/bases_de_donnees/sql.1640530277.txt.gz · Dernière modification: 2021/12/26 15:51 de ma