SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
SQL : Langage de Manipulation de Données
Achref El Mouelhi
Docteur de l’université d’Aix-Marseille
Chercheur en programmation par contrainte (IA)
Ingénieur en génie logiciel
elmouelhi.achref@gmail.com
H & H: Research and Training 1 / 13
c Achref EL MOUELHI c
Insertion de données
Insérer une valeur pour chaque colonne
INSERT INTO nom_table VALUES (valeur_colonne1,...,
valeur_colonneN);
Le SGBD affectera les valeurs aux colonnes dans l’ordre
Exemple :
Enseignant
num nom prenom salaire ville
1 Durand Philippe 2000 Marseille
2 Leberre Bernard 1500 Paris
3 Benammar Pierre 1800 Lyon
4 Hadad Karim 1500 Paris
num : clé primaire de la table
H & H: Research and Training 2 / 13
c Achref EL MOUELHI c
Insertion de données
Insérer une valeur pour chaque colonne
INSERT INTO enseignant VALUES (5,’Cooper’,’David’
,3000,’Marseille’);
Exemple :
Enseignant
num nom prenom salaire ville
1 Durand Philippe 2000 Marseille
2 Leberre Bernard 1500 Paris
3 Benammar Pierre 1800 Lyon
4 Hadad Karim 1500 Paris
5 Cooper David 3000 Marseille
H & H: Research and Training 3 / 13
c Achref EL MOUELHI c
Insertion de données
Insérer une valeur pour chaque colonne
INSERT INTO nom_table SET nom_colonne=
valeur_colonne,...;
Le SGBD affectera les valeurs aux colonnes dans l’ordre
Exemple :
Enseignant
num nom prenom salaire ville
1 Durand Philippe 2000 Marseille
2 Leberre Bernard 1500 Paris
3 Benammar Pierre 1800 Lyon
4 Hadad Karim 1500 Paris
num : clé primaire de la table
H & H: Research and Training 4 / 13
c Achref EL MOUELHI c
Insertion de données
Insérer une valeur pour chaque colonne
INSERT INTO enseignant Set num=5, nom=’Cooper’ ,
prenom=’David’, salaire=3000, ville=’Marseille’;
Exemple :
Enseignant
num nom prenom salaire ville
1 Durand Philippe 2000 Marseille
2 Leberre Bernard 1500 Paris
3 Benammar Pierre 1800 Lyon
4 Hadad Karim 1500 Paris
5 Cooper David 3000 Marseille
H & H: Research and Training 5 / 13
c Achref EL MOUELHI c
Insertion de données
Insérer quelques valeurs (pas toutes)
INSERT INTO nom_table (valeur_colonneP,...,
valeur_colonneQ) VALUES (valeur_colonneP,...,
valeur_colonneQ);
Exemple :
INSERT INTO enseignant (num,nom,prenom) VALUES (6,’
Benatia’,’Sonia’);
num nom prenom salaire ville
1 Durand Philippe 2000 Marseille
2 Leberre Bernard 1500 Paris
3 Benammar Pierre 1800 Lyon
4 Hadad Karim 1500 Paris
5 Cooper David 3000 Marseille
6 Benatia Sonia
Ceci n’est possible que si les champs non-renseignés ne sont pas nuls
H & H: Research and Training 6 / 13
c Achref EL MOUELHI c
Insertion de données
Insérer des valeurs à partir d’un script
SOURCE nom_fichier.sql;
H & H: Research and Training 7 / 13
c Achref EL MOUELHI c
Insertion de données
Insérer des valeurs à partir d’un script
SOURCE nom_fichier.sql;
ou
. nom_fichier.sql;
H & H: Research and Training 7 / 13
c Achref EL MOUELHI c
Insertion de données
Insérer des valeurs à partir d’un script
SOURCE nom_fichier.sql;
ou
. nom_fichier.sql;
Attention aux éventuelles erreurs
H & H: Research and Training 7 / 13
c Achref EL MOUELHI c
Insertion de plusieurs données
Insérer une valeur pour chaque colonne
INSERT INTO nom_table VALUES
(valeur1_colonne1,...,valeur1_colonneN),
(valeur2_colonne1,...,valeur2_colonneN),
...
(valeurQ_colonne1,...,valeurQ_colonneN);
H & H: Research and Training 8 / 13
c Achref EL MOUELHI c
Insertion de plusieurs données
Insérer une valeur pour chaque colonne
INSERT INTO nom_table VALUES
(valeur1_colonne1,...,valeur1_colonneN),
(valeur2_colonne1,...,valeur2_colonneN),
...
(valeurQ_colonne1,...,valeurQ_colonneN);
Pour l’exemple précédent
INSERT INTO enseignant VALUES
(1,Durand,Philippe,2000,Marseille),
(2,Leberre,Bernard,1500,Paris),
(3,Benammar,Pierre,1800,Lyon),
(4,Hadad,Karim,1500,Paris),
(5,Cooper,David,3000,Marseille);
H & H: Research and Training 8 / 13
c Achref EL MOUELHI c
Suppression de données
Supprimer des tuples respectant une ou plusieurs conditions
DELETE FROM nom_table
WHERE condtions;
Exemple :
DELETE FROM enseignant
WHERE salaire > 2000 AND ville = ’Marseille’;
num nom prenom salaire ville
1 Durand Philippe 2000 Marseille
2 Leberre Bernard 1500 Paris
3 Benammar Pierre 1800 Lyon
4 Hadad Karim 1500 Paris
5 Cooper David 3000 Marseille
6 Benatia Sonia
H & H: Research and Training 9 / 13
c Achref EL MOUELHI c
Suppression de données
Supprimer tous les tuples d’une table
DELETE FROM nom_table;
H & H: Research and Training 10 / 13
c Achref EL MOUELHI c
Suppression de données
Supprimer tous les tuples d’une table
DELETE FROM nom_table;
Cette requête supprime toutes les données de la table, mais pas la table.
Donc, le résultat est une table vide.
H & H: Research and Training 10 / 13
c Achref EL MOUELHI c
Modification de données
Modifier des tuples respectant une ou plusieurs conditions
UPDATE nom_table
SET nom_colonne = valeur
WHERE condition;
Exemple :
UPDATE Enseignant
SET salaire= 1600, ville = ’Toulouse’
WHERE nom = ’benatia’;
num nom prenom salaire ville
1 Durand Philippe 2000 Marseille
2 Leberre Bernard 1500 Paris
3 Benammar Pierre 1800 Lyon
4 Hadad Karim 1500 Paris
6 Benatia Sonia 1600 Toulouse
H & H: Research and Training 11 / 13
c Achref EL MOUELHI c
Modification de données
Modifier tous les tuples
UPDATE enseignant
SET ville = ’Marseille’ ;
H & H: Research and Training 12 / 13
c Achref EL MOUELHI c
Modification de données
Modifier tous les tuples
UPDATE enseignant
SET ville = ’Marseille’ ;
Le résultat
num nom prenom salaire ville
1 Durand Philippe 2000 Marseille
2 Leberre Bernard 1500 Marseille
3 Benammar Pierre 1800 Marseille
4 Hadad Karim 1500 Marseille
6 Benatia Sonia 1600 Marseille
H & H: Research and Training 12 / 13
c Achref EL MOUELHI c
Quelques remarques
Les champs dont les valeurs sont auto incrementales sont gérées
par le SGBD, mais on ne peut forcer le système à leur affecter une
valeur de notre choix si elle n’existe pas dans la table.
Dans ce cas et si la dernière valeur affectée est supérieure à la
précédente, le SGBD incrémente cette valeur et l’affecte au
prochain tuple.
H & H: Research and Training 13 / 13

Contenu connexe

Plus de YounesOuladSayad1

cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024YounesOuladSayad1
 
cours web developpement statique AJAX 2024
cours web developpement statique AJAX  2024cours web developpement statique AJAX  2024
cours web developpement statique AJAX 2024YounesOuladSayad1
 
cours Cascading style sheet developpement web
cours Cascading style sheet developpement webcours Cascading style sheet developpement web
cours Cascading style sheet developpement webYounesOuladSayad1
 
Gestion de projet en l'Information_compressed.pdf
Gestion de projet en l'Information_compressed.pdfGestion de projet en l'Information_compressed.pdf
Gestion de projet en l'Information_compressed.pdfYounesOuladSayad1
 
cours les formulaires 2 microsoft access
cours les formulaires 2 microsoft accesscours les formulaires 2 microsoft access
cours les formulaires 2 microsoft accessYounesOuladSayad1
 
cours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortcours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortYounesOuladSayad1
 
javascript web developpement framework web
javascript web developpement framework webjavascript web developpement framework web
javascript web developpement framework webYounesOuladSayad1
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamiqueYounesOuladSayad1
 

Plus de YounesOuladSayad1 (9)

cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
 
cours web developpement statique AJAX 2024
cours web developpement statique AJAX  2024cours web developpement statique AJAX  2024
cours web developpement statique AJAX 2024
 
cours Cascading style sheet developpement web
cours Cascading style sheet developpement webcours Cascading style sheet developpement web
cours Cascading style sheet developpement web
 
Gestion de projet en l'Information_compressed.pdf
Gestion de projet en l'Information_compressed.pdfGestion de projet en l'Information_compressed.pdf
Gestion de projet en l'Information_compressed.pdf
 
cours les formulaires 2 microsoft access
cours les formulaires 2 microsoft accesscours les formulaires 2 microsoft access
cours les formulaires 2 microsoft access
 
cours TRI selection insertion bublle sort
cours TRI selection insertion bublle sortcours TRI selection insertion bublle sort
cours TRI selection insertion bublle sort
 
javascript web developpement framework web
javascript web developpement framework webjavascript web developpement framework web
javascript web developpement framework web
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 

cours mysql machine learning SQL MYSQL 2024

  • 1. SQL : Langage de Manipulation de Données Achref El Mouelhi Docteur de l’université d’Aix-Marseille Chercheur en programmation par contrainte (IA) Ingénieur en génie logiciel elmouelhi.achref@gmail.com H & H: Research and Training 1 / 13
  • 2. c Achref EL MOUELHI c Insertion de données Insérer une valeur pour chaque colonne INSERT INTO nom_table VALUES (valeur_colonne1,..., valeur_colonneN); Le SGBD affectera les valeurs aux colonnes dans l’ordre Exemple : Enseignant num nom prenom salaire ville 1 Durand Philippe 2000 Marseille 2 Leberre Bernard 1500 Paris 3 Benammar Pierre 1800 Lyon 4 Hadad Karim 1500 Paris num : clé primaire de la table H & H: Research and Training 2 / 13
  • 3. c Achref EL MOUELHI c Insertion de données Insérer une valeur pour chaque colonne INSERT INTO enseignant VALUES (5,’Cooper’,’David’ ,3000,’Marseille’); Exemple : Enseignant num nom prenom salaire ville 1 Durand Philippe 2000 Marseille 2 Leberre Bernard 1500 Paris 3 Benammar Pierre 1800 Lyon 4 Hadad Karim 1500 Paris 5 Cooper David 3000 Marseille H & H: Research and Training 3 / 13
  • 4. c Achref EL MOUELHI c Insertion de données Insérer une valeur pour chaque colonne INSERT INTO nom_table SET nom_colonne= valeur_colonne,...; Le SGBD affectera les valeurs aux colonnes dans l’ordre Exemple : Enseignant num nom prenom salaire ville 1 Durand Philippe 2000 Marseille 2 Leberre Bernard 1500 Paris 3 Benammar Pierre 1800 Lyon 4 Hadad Karim 1500 Paris num : clé primaire de la table H & H: Research and Training 4 / 13
  • 5. c Achref EL MOUELHI c Insertion de données Insérer une valeur pour chaque colonne INSERT INTO enseignant Set num=5, nom=’Cooper’ , prenom=’David’, salaire=3000, ville=’Marseille’; Exemple : Enseignant num nom prenom salaire ville 1 Durand Philippe 2000 Marseille 2 Leberre Bernard 1500 Paris 3 Benammar Pierre 1800 Lyon 4 Hadad Karim 1500 Paris 5 Cooper David 3000 Marseille H & H: Research and Training 5 / 13
  • 6. c Achref EL MOUELHI c Insertion de données Insérer quelques valeurs (pas toutes) INSERT INTO nom_table (valeur_colonneP,..., valeur_colonneQ) VALUES (valeur_colonneP,..., valeur_colonneQ); Exemple : INSERT INTO enseignant (num,nom,prenom) VALUES (6,’ Benatia’,’Sonia’); num nom prenom salaire ville 1 Durand Philippe 2000 Marseille 2 Leberre Bernard 1500 Paris 3 Benammar Pierre 1800 Lyon 4 Hadad Karim 1500 Paris 5 Cooper David 3000 Marseille 6 Benatia Sonia Ceci n’est possible que si les champs non-renseignés ne sont pas nuls H & H: Research and Training 6 / 13
  • 7. c Achref EL MOUELHI c Insertion de données Insérer des valeurs à partir d’un script SOURCE nom_fichier.sql; H & H: Research and Training 7 / 13
  • 8. c Achref EL MOUELHI c Insertion de données Insérer des valeurs à partir d’un script SOURCE nom_fichier.sql; ou . nom_fichier.sql; H & H: Research and Training 7 / 13
  • 9. c Achref EL MOUELHI c Insertion de données Insérer des valeurs à partir d’un script SOURCE nom_fichier.sql; ou . nom_fichier.sql; Attention aux éventuelles erreurs H & H: Research and Training 7 / 13
  • 10. c Achref EL MOUELHI c Insertion de plusieurs données Insérer une valeur pour chaque colonne INSERT INTO nom_table VALUES (valeur1_colonne1,...,valeur1_colonneN), (valeur2_colonne1,...,valeur2_colonneN), ... (valeurQ_colonne1,...,valeurQ_colonneN); H & H: Research and Training 8 / 13
  • 11. c Achref EL MOUELHI c Insertion de plusieurs données Insérer une valeur pour chaque colonne INSERT INTO nom_table VALUES (valeur1_colonne1,...,valeur1_colonneN), (valeur2_colonne1,...,valeur2_colonneN), ... (valeurQ_colonne1,...,valeurQ_colonneN); Pour l’exemple précédent INSERT INTO enseignant VALUES (1,Durand,Philippe,2000,Marseille), (2,Leberre,Bernard,1500,Paris), (3,Benammar,Pierre,1800,Lyon), (4,Hadad,Karim,1500,Paris), (5,Cooper,David,3000,Marseille); H & H: Research and Training 8 / 13
  • 12. c Achref EL MOUELHI c Suppression de données Supprimer des tuples respectant une ou plusieurs conditions DELETE FROM nom_table WHERE condtions; Exemple : DELETE FROM enseignant WHERE salaire > 2000 AND ville = ’Marseille’; num nom prenom salaire ville 1 Durand Philippe 2000 Marseille 2 Leberre Bernard 1500 Paris 3 Benammar Pierre 1800 Lyon 4 Hadad Karim 1500 Paris 5 Cooper David 3000 Marseille 6 Benatia Sonia H & H: Research and Training 9 / 13
  • 13. c Achref EL MOUELHI c Suppression de données Supprimer tous les tuples d’une table DELETE FROM nom_table; H & H: Research and Training 10 / 13
  • 14. c Achref EL MOUELHI c Suppression de données Supprimer tous les tuples d’une table DELETE FROM nom_table; Cette requête supprime toutes les données de la table, mais pas la table. Donc, le résultat est une table vide. H & H: Research and Training 10 / 13
  • 15. c Achref EL MOUELHI c Modification de données Modifier des tuples respectant une ou plusieurs conditions UPDATE nom_table SET nom_colonne = valeur WHERE condition; Exemple : UPDATE Enseignant SET salaire= 1600, ville = ’Toulouse’ WHERE nom = ’benatia’; num nom prenom salaire ville 1 Durand Philippe 2000 Marseille 2 Leberre Bernard 1500 Paris 3 Benammar Pierre 1800 Lyon 4 Hadad Karim 1500 Paris 6 Benatia Sonia 1600 Toulouse H & H: Research and Training 11 / 13
  • 16. c Achref EL MOUELHI c Modification de données Modifier tous les tuples UPDATE enseignant SET ville = ’Marseille’ ; H & H: Research and Training 12 / 13
  • 17. c Achref EL MOUELHI c Modification de données Modifier tous les tuples UPDATE enseignant SET ville = ’Marseille’ ; Le résultat num nom prenom salaire ville 1 Durand Philippe 2000 Marseille 2 Leberre Bernard 1500 Marseille 3 Benammar Pierre 1800 Marseille 4 Hadad Karim 1500 Marseille 6 Benatia Sonia 1600 Marseille H & H: Research and Training 12 / 13
  • 18. c Achref EL MOUELHI c Quelques remarques Les champs dont les valeurs sont auto incrementales sont gérées par le SGBD, mais on ne peut forcer le système à leur affecter une valeur de notre choix si elle n’existe pas dans la table. Dans ce cas et si la dernière valeur affectée est supérieure à la précédente, le SGBD incrémente cette valeur et l’affecte au prochain tuple. H & H: Research and Training 13 / 13