Langage de manipulation des données (LMD) - Partie 1
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Le langage de manipulation des données permet de modifier le contenu d’une table (insertion, mise à jour ou suppression d’enregistrements).
La principale commande du langage de manipulation de données est la commande SELECT.
La commande SELECT est basée sur l'algèbre relationnelle, en effectuant des opérations de sélection de données sur plusieurs tables relationnelles par projection. Sa syntaxe est la suivante :
SELECT [ALL] | [DISTINCT] <liste des noms de colonnes> | *
FROM <Liste des tables>
[WHERE <condition logique>]
Il existe d'autres options pour la commande SELECT :
GROUP BY, HAVING ou ORDER BY
• L'option ALL est, par opposition à l'option DISTINCT, l'option par défaut. Elle permet de sélectionner l'ensemble des lignes satisfaisant à la condition logique.
• L'option DISTINCT permet de ne conserver que des lignes distinctes, en éliminant les doublons.
• La liste des noms de colonnes indique la liste des colonnes choisies, séparées par des virgules. Lorsque l'on désire sélectionner l'ensemble des colonnes d'une table, il n'est pas nécessaire de saisir la liste de ses colonnes, l'option * permet de réaliser cette tâche.
• La liste des tables indique l'ensemble des tables (séparées par des virgules) sur lesquelles on opère.
• La condition logique permet d'exprimer des qualifications complexes à l'aide d'opérateurs logiques et de comparateurs arithmétiques.
Nous allons étudier successivement la projection et la restriction des données, avant de voir les tris et regroupement, ainsi que les jointures dans une deuxième partie, c’est-à-dire dans la fiche suivante intitulée « Le langage de manipulation de données (LMD) – Partie 2 ».
Nous allons illustrer par cet exemple suivant : soit la table « Voiture ».
Exemple : Table Voiture
Marque |
Modèle |
Série |
Numéro |
Renault | 18 | RL | 4698 SJ 45 |
Renault | Kangoo | RL | 4568 HD 16 |
Renault | Kangoo | RL | 6576 VE 38 |
Peugeot | 106 | KID | 7845 ZS 83 |
Peugeot | 309 | chorus | 7647 ABY 82 |
Ford | Escort | Match | 8562 EV 23 |
- opérateurs logiques : AND, OR, NOT ;
- comparateurs de chaîne : IN, BETWEEN, LIKE ;
- opérateurs arithmétiques : +, -, *, / , %, &, |, ^, ~ ;
- comparateurs arithmétiques : =, !=, >, <, >=, <=, <>, !>, !<.
Il existe plusieurs types de restrictions :
- les restrictions simples,
- sur comparaison de chaîne,
- d’ensemble,
- sur les valeurs manquantes.
Occasion
Marque |
Modèle |
Série |
Numéro |
Compteur |
Renault | 18 | RL | 4698 SJ 45 | 123 450 |
Renault | Kangoo | RL | 4568 HD 16 | 56 000 |
Renault | Kangoo | RL | 6576 VE 38 | 12 000 |
Peugeot | 106 | KID | 7845 ZS 83 | 75 600 |
Peugeot | 309 | Chorus | 7647 ABY 82 | 189 500 |
Ford | Escort | Match | 8562 EV 23 |
Le champ présentant la valeur du kilométrage au compteur de la Ford Escort est délibérément non renseigné.
- le caractère % permet de remplacer une séquence de caractères (éventuellement nulle) ;
- le caractère _ permet de remplacer un caractère ;
- les caractères [-] permettent de définir un intervalle de caractères (par exemple [J-M]).
Exemple : la sélection des voitures dont la marque a un E en deuxième position se fait par l’instruction :
SELECT * FROM OCCASION
WHERE Marque LIKE « _E% »
Résultat
Marque |
Modèle |
Série |
Numéro |
Compteur |
Renault | 18 | RL | 4698 SJ 45 | 123 450 |
Renault | Kangoo | RL | 4568 HD 16 | 56 000 |
Renault | Kangoo | RL | 6576 VE 38 | 12 000 |
Peugeot | 106 | KID | 7845 ZS 83 | 75 600 |
Peugeot | 309 | Chorus | 7647 ABY 82 | 189 500 |
Exemple : la sélection de toutes les voitures d’occasion ayant un kilométrage inférieur ou égal à 100 000 km, mais supérieur ou égal à 30 000 km, (effectuée plus haut avec des comparateurs arithmétiques) peut se faire par l’instruction suivante :
SELECT * FROM OCCASION
WHERE Compteur BETWEEN 100000 AND 30000
Résultat
Marque |
Modèle |
Série |
Numéro |
Compteur |
Renault | Kangoo | RL | 4568 HD 16 | 56 000 |
Peugeot | 106 | KID | 7845 ZS 83 | 75 600 |
Exemple : la sélection de toutes les voitures d’occasion dont le kilométrage n’est pas renseigné se fait par l’instruction suivante :
SELECT * FROM OCCASION
WHERE Compteur IS NULL
Résultat
Marque |
Modèle |
Série |
Numéro |
Compteur |
Ford | Escort | Match | 8562 EV 23 |
Le LMD est essentiel car il permet de choisir les données qui intéressent l’utilisateur. Partant du constat que la commande SELECT est la base, la LMD permet de projeter une donnée afin de retenir celle que l’on veut étudier. Plus précise, les restrictions permettent de sélectionner les lignes satisfaisant à une condition logique.
Vous avez obtenu75%de bonnes réponses !