Introduction Modification d’une base de données
Introduction aux bases de données
Le langage SQL DDL
Solemane Coulibaly
Université de Segou
Institut Universitaire de Formation Professionnelle (IUFP)
[Link]@[Link]
Ce support est basé sur l’ouvrage Bases de données, J-L Hainaut, Dunod 2022.
Solemane Coulibaly Université de SegouInstitut Universitaire de Formation Professionnelle (IUFP)
Introduction aux bases de données
Introduction Modification d’une base de données
Introduction
Les requêtes de modification de données opèrent sur les ensembles
de lignes :
I insertion de lignes (insert),
I suppression de lignes sélectionnées (delete) et
I modification de valeurs de colonnes de lignes sélectionnées
(update).
Solemane Coulibaly Université de SegouInstitut Universitaire de Formation Professionnelle (IUFP)
Introduction aux bases de données
Introduction Modification d’une base de données
Ajout de lignes
Syntaxe :
1 INSERT INTO R [( col1 , col2 , ... , coln )] VALUES ( val1 ,
val2 , ... , valn );
Exemple :
1 INSERT INTO produit VALUES ( ’ CS262 ’, ’CHEV , SAPIN 200
x6x2 ’, 75 , 45)
valeurs doivent correspondre à l’ordre de déclaration des colonne lors
de la création de la table produit.
Lorsque certaines valeurs seulement sont introduites, préciser le nom
et l’ordre des colonnes concernées :
1 insert into CLIENT ( NCLI ,NOM , COMPTE , LOCALITE ) values ( ’
C402 ’,’ TRAORE Madou ’ , -2500 , ’ Bamako ’);
Solemane Coulibaly Université de SegouInstitut Universitaire de Formation Professionnelle (IUFP)
Introduction aux bases de données
Introduction Modification d’une base de données
Ajout de lignes
1 insert into CLIENT ( NCLI ,NOM , COMPTE , LOCALITE ) values (
’ C402 ’,’ TRAORE Madou ’ , -2500 , ’ Bamako ’);
Toute colonne non spécifiée (telle que CAT), prend la valeur null ou la
valeur pardéfaut (default) si celle-ci a été déclarée comme propriété
de la colonne.
Toute colonne obligatoire (not null) doit recevoir une valeur, sauf si
on lui a assigné une valeur par défaut lors de sa déclaration.
Solemane Coulibaly Université de SegouInstitut Universitaire de Formation Professionnelle (IUFP)
Introduction aux bases de données
Introduction Modification d’une base de données
Modification de lignes
Syntaxe :
1 update R
2 set col1 = expression1 [, col2 = expression2 , ...]
3 [ where ( condition )] ;
La modification sera effectuée sur toutes les lignes qui vérifient une
condition désignée par une clause where (NCLI = ’F011’):
1 update CLIENT set ADRESSE = ’29 , av . de la Magne ’,
LOCALITE = ’ Niort ’
2 where NCLI = ’ F011 ’;
Les nouvelles valeurs peuvent être obtenues par une expression
arithmétique. La requête suivante augmente de 5% le prix des
produits en sapin :
1 update PRODUIT PRIX = PRIX * 1.05 where LIBELLE like ’%
SAPIN % ’;
Solemane Coulibaly Université de SegouInstitut Universitaire de Formation Professionnelle (IUFP)
Introduction aux bases de données
Introduction Modification d’une base de données
Modification de lignes
1 update DETAIL
2 set DATECOM = ’2020 -12 -22 ’
3 where NCOM = ’ 30179 ’;
1 update PRODUIT
2 set QSTOCK = 100
3 where NPRO = ’ 30188 ’ OR NPRO = ’ PS222 ’;
Solemane Coulibaly Université de SegouInstitut Universitaire de Formation Professionnelle (IUFP)
Introduction aux bases de données
Introduction Modification d’une base de données
Modification de lignes
Intégrité référentielle
1 update PRODUIT
2 set QSTOCK = QSTOCK - 200
3 where NPRO = ’ 30188 ’;
La modification échouera par violation de la contrainte (QSTOCK > 0)
associée à QSTOCK. Ainsi, l’intégrité des données ne sera donc pas
mise en danger.
Les opérations de modification ou d’insertion sont bien soumise à la
vérification des contraintes sur les tables par le SGBD.
Solemane Coulibaly Université de SegouInstitut Universitaire de Formation Professionnelle (IUFP)
Introduction aux bases de données
Introduction Modification d’une base de données
Suppression de lignes
L’ordre de suppression porte sur un sous-ensemble des lignes d’une
table désignées par une clause where dont le format :
1 delete from R
2 [ where ( CONDITION )] ;
1 delete from CLIENT where NCLI = ’ B062 ’;
Cet ordre supprime de la table CLIENT où le numéro du client B062.
La requête suivante (sans clause WHERE) supprime tous les
enregistrements de la table PRODUIT
1 delete from PRODUIT ;
Solemane Coulibaly Université de SegouInstitut Universitaire de Formation Professionnelle (IUFP)
Introduction aux bases de données