Cours en Devlopement Informatique

  • SQL SEVER

Opérations de MAJ des données



I. Introduction

Cette deuxième partie du premier sous-ensemble du langage SQL de Manipulation de Données (LMD ou DML en anglais) abordera les ordres de mise à jour au sens large des données à savoir l’ajout, la modification et la suppression de données.  

Vont donc être étudiées dans ce chapitre les opérations de :

  • Insertion à l’aide de l’ordre INSERT
  • La suppression à travers de l’ordre DELETE  
  • Modification par l’instruction UPDATE
II. Opération d’ajout

L’instruction INSERT permet d’ajouter une ou des lignes dans une table.

La syntaxe de base :

INSERT INTO  NomTable

[Liste des colonnes]

                                   VALUES             Liste des valeurs

[SELECT …FROM]

        2.1.   Ajout simple

Si une colonne est porteuse de la propriété compteur (IDENTITY), c’est le système qui fournira automatiquement un N° par incrémentation. Cette colonne ne devra donc pas être nommée ni dans la liste des colonnes ni dans la liste des valeurs. On spécifie les valeurs dans la liste des valeurs.

On spécifie pour chaque colonne désignée dans la liste des colonnes, une valeur dans la liste des valeurs.

Il faut alors respecter le même ordre dans la liste des colonnes et la liste des valeurs.

 On ignore les colonnes DateDebutActivite et DateFinActivite

 Vous remarquerez l’usage de la fonction GETDATE() pour insérer la date du jour.

        2.2.   Ajout depuis sélection 

Ajout d’un clone du pilote Bost

On peut intégrer des fonctions de conversion et des calculs intermédiaires afin de modifier les données de la source avant de les stocker dans la table cible.

III. Opération de suppression

L’opération la plus simple mais aussi la plus radicale !

La syntaxe de base :

DELETE Nom de la Table

[FROM] Eventuellement depuis une sélection WHERE        Expression de la condition

        3.1.  Suppression simple

Suppression du pilote dont la clé vaut 36.  

IV. Opération de mise à jour

L’instruction UPDATE permet de mettre à jour des données d’une table.

La syntaxe de base :

UPDATE  Nom de la table

                                   SET         Expression des MAJ : Attribut=Valeur, Attribut = Valeur

[FROM] Accès à d’autres tables pour récupérer valeurs des attributs WHERE        Condition pour mettre à jour les lignes

Les modifications sont exprimées au niveau de la clause SET.

On peut introduire une clause FROM pour éventuellement utiliser des attributs d’une autre table dans la clause SET.

 Les modifications peuvent être conditionnées au moyen d’un groupe de conditions CASE.

La fonction UPDATE impactera l’ensemble des lignes qui correspondent à la condition exprimée dans la clause WHERE. 

S’il n’y a pas de condition, l’ensemble des lignes de la table sera modifié.

        4.1.  Utilisation simple 

Mise à jour des attributs Nom et DateNaissance 

        4.2.  Utilisation conditionnée avec CASE

Modification en fonction du montant du salaire pour les pilotes affectés à des vols.

A noter : lorsque vous recourez à cette structure pour réaliser des mises à jour conditionnelles, il faut prendre garde au fait que la colonne devant être modifiée vaudra Null si vous ne lui affectez aucune valeur et ne conservera donc pas sa valeur initiale. 

        4.1.  Utilisation conditionnée avec le résultat d’une requête

On peut utiliser le résultat d’une requête pour affecter de nouvelles valeurs 

La syntaxe de base :

UPDATE  Nom de la table

                                                   SET         colonne=(requête)

[WHERE] Condition pour mettre à jour les lignes

 

Remplace le salaire de tous les ingénieurs par la moyenne des salaires des ingénieurs.

V.  Atelier pratique
  1. Exécuter les exemples du cours
  2. Dans la base de données “Compagnie de transport”
    1. Ajouter aux colonnes date recrutement chauffeur et date délivrance billet la contraint valeur par défaut est date système (getdate()).
    2. Insérer 5 n-uplet dans chacune des tables chauffeur, véhicule, voyage.
    3. Insérer 20 n-uplet dans la table billet pour chaque voyage.
    4. Insérer 10 n-uplet dans la table réparation et rep_voyage.
    5. Modifier une ligne dans chaque table
    6. Appliquer une réduction de 10% sur les tarifs supérieurs à 100 Dh et une réduction de 5% pour les tarifs à entre 50 et 99 Dh.
    7. Ajouter une colonne salaire (money) à la table chauffeur.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.