Requête SQL
Cours : Requête SQL. Rechercher de 53 000+ Dissertation Gratuites et MémoiresPar Magaly • 10 Avril 2019 • Cours • 1 310 Mots (6 Pages) • 531 Vues
Chapitre 2 : le langage SQL (structured query language)[pic 1]
- Que représente ce langage ?
Le SQL (en français langage de requête structurée) est un langage informatique normalisé servant à exploiter des bases de données relationnelles.
Une partie de ce langage que nous devons étudier est le langage de manipulation des données de SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles.
Il a été créé en 1974, normalisé depuis 1986, le langage est reconnu par la grande majorité des systèmes de gestion de bases de données relationnelles (abrégé SGBDR) du marché.
- Quel est sa syntaxe ?
Les requêtes permettent d’interroger ou de modifier la base de données.
On retrouvera donc des requêtes dites :
- SELECTION = interrogation
- Et ACTION = modifient la base de données
a) requêtes SELECTION
- Structure d’une requête SELECTION
NB :
- SELECT s’appelle un ORDRE. Les autres mots clés s’appellent des CLAUSES
- Si le nom des champs ou des tables comporte un espace : il faut le baliser par des crochets
SELECT indique les champs à afficher
FROM indique les tables d’où proviennent les champs à afficher et d’où proviennent les champs pour les restrictions
WHERE permet de faire des jointures entre +s tables ( n tables -1) (sur champ IDENTIFIANT commun) et de faire des restrictions (sur champs qui existent dans la base) (NB : lignes de la clause WHERE sont à séparer par l’opérateur AND ou OR)
GROUP BY permet de faire des regroupements. A utiliser quand la requête mentionne : « par…. » ; « en fonction de… » ; « pour chaque… »
NB : porte sur les champs du SELECT sauf les fonctions
HAVING restrictions sur des champs qui n’existent pas dans la base (obtenus par calculs : arithmétique ou fonction) (utiliser aussi GROUP BY)
ORDER BY classement sur des champs ( pour décroissant : ajouter desc)
- Les opérateurs
- LIKE : permet de faire des restrictions sur une valeur de champ partiellement connue
NB : caractères génériques :
* : tous les caractères non connus
? : un caractère non connu
- = : à utiliser pour une restriction sur valeur connue
- NOT : restriction sur une champ dont la valeur est différente de celle connue
Ex : WHERE NOT nomprof= « FABERT » : je cherche les profs dont le nom n’est pas FABERT
- BETWEEN …. AND …. : restriction entre deux valeurs (intervalle)
- IN : liste
- Null : permet de rechercher les champs non renseignés : ex : where mail prof is null Contraire : is not null
- Fonctions
- AVG (nom du champ) : moyenne de valeurs
- COUNT(nom de champ IDENTIFIANT !) :compter les enregistrements d’une table
- SUM (nom du champ) : somme des valeurs d’un champ
- MIN, MAX : valeur minimale et maximale d’un champ
- (STD : écart type)
NB : prévoir un alias pour redéfinir nom du champ calculé Ex : AVG(prix) AS [moyenne des prix]
- Le balisage des valeurs
- Dièse : # : valeur de champ date
- Guillemets : « » : valeur de champs texte
- Rien pour valeur de champs numérique !
b). Requêtes ACTION : elles modifient les valeurs de la base de données et ne portent que sur une TABLE
- Insertion d'une ligne dans la table acteurs :
INSERT INTO acteurs (Nom,Prénom)
VALUES ('Dupont','Kevin')
- Suppression des lignes répondant à une condition :
DELETE *
FROM Store_Information
WHERE Store_Town = 'Paris';
- Mise à jour des lignes répondant à une condition :
UPDATE Eleves
SET Prénom = "Henry"
WHERE Nom="Leroy";
CAS CUISINES
🖉TRAVAIL A FAIRE : A partir des annexes 1 à 2, réalisez les requêtes de l’annexe 3.
Annexe 1 : Glossaire SQL (extrait)
Rôle de la fonction | SQL |
Fournit la date d'aujourd'hui | Now() |
Calcule la partie entière de l'argument | Int (Argument) |
Renvoie l‘année | Year(date) |
Renvoie le mois | Month(date) |
Renvoie le jour | Day(date) |
Annexe 2 Schéma relationnel de l’application (linéaire)
ATELIER CUISINE (NumCuisine, TelCuisine, #NumCuisinier)
CATEGORIE (NumCat, LibCat)
...