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
Dernière révision Les deux révisions suivantes
les_fiches_revisions:bases_de_donnees:sql [2021/12/26 16:16]
ma
les_fiches_revisions:bases_de_donnees:sql [2023/01/18 09:53]
hk
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 77: Ligne 158:
 </code> </code>
  
-__Attribut :__ Le nom des attributs qu'il faut affiché\\ +__Attribut :explication 
-Peut également être remplacé par *\\ +
-Cela montrera toutes les colones de la relation+
  
 __nom_table :__ Le nom de la relation qui sera affiché __nom_table :__ Le nom de la relation qui sera affiché
Ligne 115: Ligne 194:
  
 ====B) SELECT DISTINCT==== ====B) SELECT DISTINCT====
- 
-En rajoutant **DISTINCT** après **SELECT**, on peut éviter d'avoir des doublons. 
  
 ===1. Code=== ===1. Code===
Ligne 140: Ligne 217:
  
 ====C) WHERE=== ====C) WHERE===
- 
-Cette commande rajoute un/des filtre(s) 
  
 ===1. Code=== ===1. Code===
Ligne 166: Ligne 241:
  
 En utilisant **AND** et **OR** il possible de préciser plusieurs conditions. En utilisant **AND** et **OR** il possible de préciser plusieurs conditions.
- 
-**AND**\\ 
-Les deux conditions doit être vraie 
  
 <code sql> <code sql>
 condition1 AND condition2 condition1 AND condition2
 </code> </code>
- 
-**OR**\\ 
-Soit: 
-Au moins une condition doit être vraie 
  
 <code sql> <code sql>
Ligne 211: Ligne 279:
  
 ====D) ORDER BY==== ====D) ORDER BY====
- 
-Permet de mettre de trier le tableau affiché selon les attributs précisé 
  
 ===1. Code simple=== ===1. Code simple===
Ligne 305: Ligne 371:
 Il est possible de joindre deux relations ensemble grâce à **JOIN**.\\ Il est possible de joindre deux relations ensemble grâce à **JOIN**.\\
 En réalité il y a plusieurs type de jointure possible mais pour le bac on ne voit que **INNER JOIN** En réalité il y a plusieurs type de jointure possible mais pour le bac on ne voit que **INNER JOIN**
- 
-**INNER JOIN** permet de rajouter une autre table via un attribut.\\ 
-En général une des deux tables aura un clé étrangère qui pourra être relier à la table pour lequel la clé étrangère correspond. 
  
 ===1. Code=== ===1. Code===
Ligne 387: Ligne 450:
  
  
-=====IV. Modifier une relation=====+=====V. Modifier une relation=====
  
 ====A) INSERT==== ====A) INSERT====
Ligne 420: Ligne 483:
 </code> </code>
  
-Cela rajoutera à la relation ceci (visible grace à [[les_fiches_revisions:bases_de_donnees:sql#III. Visualiser une relation|SELECT]]):+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  ^ ^  id  ^  prenom  ^    nom      ville    age  ^  id_abonnement  ^
 |  1    Annie     Martin    Paris    25          3        | |  1    Annie     Martin    Paris    25          3        |
Ligne 453: Ligne 516:
 Scénario: L'abonnement Simple à changé de prix, il est passé de 20€ à 15€ 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#III. Visualiser une relation|SELECT]]+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  ^ ^  id  ^    nom    ^  prix  ^  durée_mois  ^  session  ^
 |  1      Eco    |   10        27      |         | |  1      Eco    |   10        27      |         |
Ligne 492: Ligne 555:
 Scénario: Le client //Jean Simon// n'a pas renouvelé son abonnement donc il est supprimé de la relation 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#III. Visualiser une relation|SELECT]]+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  ^ ^  id  ^  prenom  ^    nom      ville    age  ^  id_abonnement  ^
 |  1    Annie     Martin    Paris    25          3        | |  1    Annie     Martin    Paris    25          3        |
Ligne 523: Ligne 586:
 |  10  |   John     Gilles     Lyon    39          2        | |  10  |   John     Gilles     Lyon    39          2        |
  
- 
-=====V. Résumé===== 
- 
- 
-[[les_fiches_revisions:bases_de_donnees:sql#II. Créer une table|*CREATE*]] => 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") 
-<code sql> 
-WHERE condition 
- 
-WHERE condition1 AND condition2 
- 
-WHERE condition1 OR condition2 
-</code> 
- 
-[[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 
-<code sql> 
-SELECT attributs 
-FROM table1 
-INNER JOIN table2 ON table1.attribut = table2.attribut 
-</code> 
- 
-**SELECT complexe** 
-<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> 
les_fiches_revisions/bases_de_donnees/sql.txt · Dernière modification: 2023/01/18 10:27 de hk