Insertion et modifications des enregistrements - INSERT, UPDATE et DELETE

22 Sep 2019 22 Sep 2019 15614 vues ESSADDOUKI Mostafa 6 min de lecture

Manipulation des données en SQL

Définition

Les instructions de manipulation des données (DML - Data Manipulation Language) permettent d'ajouter, modifier et supprimer des enregistrements dans une table.

Les trois instructions principales sont :

  • INSERT INTO : ajouter de nouvelles lignes
  • UPDATE : modifier des lignes existantes
  • DELETE : supprimer des lignes

1. Insertion des enregistrements - INSERT INTO

Description

L'instruction INSERT INTO est utilisée pour ajouter de nouvelles lignes de données à une table de la base de données.

Syntaxe

Il existe deux syntaxes pour l'instruction INSERT INTO :

Syntaxe 1 : avec spécification des colonnes

   
INSERT INTO avec colonnes SQL
INSERT INTO nom_table (colonne1, colonne2, ..., colonneN)  
VALUES (valeur1, valeur2, ..., valeurN);

Cette syntaxe permet de spécifier exactement quelles colonnes recevront des valeurs.

Syntaxe 2 : sans spécification des colonnes

   
INSERT INTO sans colonnes SQL
INSERT INTO nom_table
VALUES (valeur1, valeur2, ..., valeurN);

Cette syntaxe nécessite que l'ordre des valeurs corresponde exactement à l'ordre des colonnes dans la table.

Insertion d'un seul enregistrement

  Exemple n°1

Ajouter un seul employé dans la table Employes.

INSERT INTO Employes (Id, Nom, Age, Salaire) 
VALUES (1, "Ismail", 25, 6000);

Ou en version simplifiée (car toutes les colonnes sont fournies) :

INSERT INTO Employes VALUES (1, "Ismail", 25, 6000);
Résultat
+----+--------+-----+---------+
| Id | Nom    | Age | Salaire |
+----+--------+-----+---------+
|  1 | Ismail |  25 | 6000.00 |
+----+--------+-----+---------+

Insertion de plusieurs enregistrements

Pour insérer plusieurs enregistrements à la fois, on peut utiliser une seule instruction avec plusieurs clauses VALUES.

   
INSERT multiple SQL
INSERT INTO nom_table VALUES 
(valeur1, valeur2, ...),
(valeur1, valeur2, ...),
...;

  Exemple n°2

Ajouter deux employés supplémentaires.

INSERT INTO Employes VALUES
    (2, "Mohamed", 30, 8000.40),
    (3, "Fatima", 29, 6000);
Résultat
+----+---------+-----+---------+
| Id | Nom     | Age | Salaire |
+----+---------+-----+---------+
|  1 | Ismail  |  25 | 6000.00 |
|  2 | Mohamed |  30 | 8000.40 |
|  3 | Fatima  |  29 | 6000.00 |
+----+---------+-----+---------+

2. Modification des enregistrements - UPDATE

Description

La requête UPDATE est utilisée pour modifier les enregistrements existants dans une table.

Vous pouvez utiliser la clause WHERE avec la requête UPDATE pour mettre à jour les lignes sélectionnées, sinon toutes les lignes seraient affectées.

Syntaxe

   
UPDATE SQL
UPDATE nom_table
SET colonne1 = valeur1, colonne2 = valeur2, ..., colonneN = valeurN
[WHERE condition];

Vous pouvez combiner plusieurs conditions avec les opérateurs AND ou OR.

Table de départ pour les exemples

+----+---------+-----+---------+
| Id | Nom     | Age | Salaire |
+----+---------+-----+---------+
|  1 | Ismail  |  25 | 6000.00 |
|  2 | Mohamed |  30 | 8000.40 |
|  3 | Fatima  |  29 | 6000.00 |
|  4 | Dounia  |  31 | 9000.00 |
|  5 | Omar    |  30 | 7500.00 |
+----+---------+-----+---------+

  Exemple n°3

Augmenter le salaire de tous les employés de 900 DH.

UPDATE Employes
SET Salaire = Salaire + 900;
Résultat
+----+---------+-----+---------+
| Id | Nom     | Age | Salaire |
+----+---------+-----+---------+
|  1 | Ismail  |  25 | 6900.00 |
|  2 | Mohamed |  30 | 8900.40 |
|  3 | Fatima  |  29 | 6900.00 |
|  4 | Dounia  |  31 | 9900.00 |
|  5 | Omar    |  30 | 8400.00 |
+----+---------+-----+---------+

  Exemple n°4

Augmenter le salaire de 500 DH uniquement pour les employés âgés de 30 ans ou plus.

UPDATE Employes
SET Salaire = Salaire + 500
WHERE age >= 30;
Résultat
+----+---------+-----+----------+
| Id | Nom     | Age | Salaire  |
+----+---------+-----+----------+
|  1 | Ismail  |  25 |  6900.00 |
|  2 | Mohamed |  30 |  9400.40 |
|  3 | Fatima  |  29 |  6900.00 |
|  4 | Dounia  |  31 | 10400.00 |
|  5 | Omar    |  30 |  8900.00 |
+----+---------+-----+----------+

3. Suppression des enregistrements - DELETE

Description

La requête DELETE est utilisée pour supprimer les enregistrements existants d'une table.

Vous pouvez utiliser la clause WHERE avec une requête DELETE pour supprimer les lignes sélectionnées, sinon tous les enregistrements seraient supprimés.

Syntaxe

   
DELETE SQL
DELETE FROM nom_table
[WHERE condition];

Suppression avec condition

  Exemple n°5

Supprimer l'employé dont l'Id est 4.

DELETE FROM Employes WHERE Id = 4;
Résultat
+----+---------+-----+---------+
| Id | Nom     | Age | Salaire |
+----+---------+-----+---------+
|  1 | Ismail  |  25 | 6900.00 |
|  2 | Mohamed |  30 | 9400.40 |
|  3 | Fatima  |  29 | 6900.00 |
|  5 | Omar    |  30 | 8900.00 |
+----+---------+-----+---------+

Suppression de tous les enregistrements

  Exemple n°6

Supprimer tous les enregistrements de la table Employes.

DELETE FROM Employes;
Résultat
+----+-----+-----+---------+
| Id | Nom | Age | Salaire |
+----+-----+-----+---------+
+----+-----+-----+---------+
(0 ligne)
Attention !

L'instruction DELETE FROM table sans clause WHERE supprime tous les enregistrements de la table. Cette opération est irréversible sans sauvegarde.

Récapitulatif

InstructionActionClause WHERERisque
INSERT INTOAjoute des lignesNon applicableViolation de contraintes (clés dupliquées)
UPDATEModifie des lignesOptionnelle (sans WHERE, toutes les lignes)Modification de toutes les lignes par accident
DELETESupprime des lignesOptionnelle (sans WHERE, toutes les lignes)Perte de données si WHERE oublié
 Exercice pratique

Manipulation des données

 Niveau : Débutant

En utilisant la table Employes, écrivez les requêtes SQL pour :

  1. Insérer un nouvel employé avec Id=6, Nom="Sara", Age=28, Salaire=8500.
  2. Augmenter le salaire de tous les employés de 10%.
  3. Supprimer les employés âgés de moins de 25 ans (s'il y en a).
  4. Modifier le nom de l'employé avec Id=3 pour qu'il devienne "Fatima-Zahra".
Points clés à retenir
  • INSERT INTO ajoute des enregistrements.
  • UPDATE modifie des enregistrements existants.
  • DELETE supprime des enregistrements.
  • Toujours utiliser WHERE avec UPDATE et DELETE sauf si on veut vraiment agir sur toutes les lignes.
  • Les valeurs insérées doivent respecter les types de données et les contraintes (clé primaire, NOT NULL, etc.).
  • On peut insérer plusieurs lignes en une seule instruction INSERT.
  • Les opérations DML (INSERT, UPDATE, DELETE) peuvent être validées (COMMIT) ou annulées (ROLLBACK) selon le contexte transactionnel.
  • Faire très attention avec DELETE sans WHERE : cela vide la table !

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.