Ordre d’exécution SQL — INSERT, UPDATE & DELETE
Contrairement à SELECT, les commandes INSERT, UPDATE
et DELETE ont un ordre d’exécution plus court.
Choisissez une commande et naviguez étape par étape.
Comment utiliser l’outil ?
L’outil propose trois onglets colorés : vert pour INSERT, bleu pour UPDATE et rouge pour DELETE. Chaque onglet affiche la requête SQL correspondante avec la clause active mise en surbrillance à mesure de la progression. Le bouton Étape suivante avance d’une étape et met à jour le tableau avec le code couleur associé à l’état des lignes.
Un badge indique le nombre de lignes concernées à chaque étape : 0 ligne(s) concernée(s) à l’identification de la table, puis le nombre exact de lignes ciblées dès l’application de la clause WHERE. Le bouton Réinitialiser recharge les 8 lignes d’origine sans aucune mise en forme, permettant de rejouer la simulation depuis le début.
Pourquoi INSERT, UPDATE et DELETE s’exécutent différemment de SELECT
Les commandes INSERT, UPDATE et DELETE ne suivent pas le même ordre d’exécution que SELECT. Une requête SELECT traverse sept étapes distinctes : FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY et LIMIT. Les commandes de modification sont plus courtes : elles identifient la table cible, filtrent les lignes concernées, vérifient les contraintes, puis écrivent le résultat.
Comprendre cet ordre est essentiel pour éviter des erreurs de données irréversibles. Une clause WHERE oubliée dans un UPDATE met à jour toutes les lignes de la table sans avertissement. Une violation de contrainte FOREIGN KEY dans un DELETE bloque la suppression si des lignes enfants existent dans une autre table.
Le jeu de données de l’outil
L’outil utilise une table employes de 8 lignes réparties en trois départements : Ventes, Tech et Interim. Chaque ligne contient un identifiant, un nom, un département et un salaire. Ces données servent de base commune aux trois commandes simulées : INSERT ajoute une neuvième employée, UPDATE augmente les salaires des employés du département Ventes, et DELETE supprime les employés du département Interim.
-- Schéma et données initiales
CREATE TABLE employes (
id INT PRIMARY KEY,
nom VARCHAR(50) NOT NULL,
departement VARCHAR(50) NOT NULL,
salaire DECIMAL(10,2) NOT NULL
);
INSERT INTO employes (id, nom, departement, salaire)
VALUES
(1, 'Alice', 'Ventes', 2800),
(2, 'Bob', 'Tech', 3500),
(3, 'Claire', 'Ventes', 3100),
(4, 'David', 'Interim', 1800),
(5, 'Emma', 'Ventes', 2600),
(6, 'Farid', 'Interim', 1900),
(7, 'Gaëlle', 'Tech', 4000),
(8, 'Hugo', 'Interim', 2100);
La commande INSERT en 4 étapes
INSERT suit quatre étapes dans le moteur SQL : identification de la table cible, évaluation des valeurs, vérification des contraintes, puis écriture en base. L’outil visualise la nouvelle ligne en jaune clair pendant l’étape d’évaluation des valeurs, ce qui indique qu’elle est en mémoire mais pas encore persistée. Une fois les contraintes validées (ici id = 9 n’existe pas, la colonne nom est NOT NULL), la ligne passe en vert et intègre définitivement la table.
-- Étape 1 : identifier la table et les colonnes cibles
-- Étape 2 : évaluer les valeurs de la nouvelle ligne en mémoire
-- Étape 3 : vérifier PRIMARY KEY, NOT NULL, UNIQUE, FK, CHECK
-- Étape 4 : écrire la ligne dans la table
INSERT INTO employes (id, nom, departement, salaire)
VALUES (9, 'Inès', 'Tech', 3300);
La commande UPDATE en 5 étapes
UPDATE s’exécute en cinq étapes : identification de la table, sélection des lignes par WHERE, calcul des nouvelles valeurs par SET, vérification des contraintes, puis écriture. L’outil affiche en jaune les lignes ciblées par WHERE departement = 'Ventes', puis en bleu les lignes dont le salaire a été recalculé à salaire * 1.10, et enfin en vert une fois les modifications validées et persistées.
La séquence WHERE → SET est fondamentale : le moteur sélectionne d’abord les lignes à modifier avant de calculer les nouvelles valeurs. Inverser mentalement cet ordre conduit à des erreurs de logique, notamment lors d’un UPDATE sans WHERE qui affecterait toute la table. Un UPDATE sans clause WHERE modifie chaque ligne de la table sans exception.
-- Étape 1 : identifier la table cible
-- Étape 2 : WHERE filtre les lignes (Alice, Claire, Emma → Ventes)
-- Étape 3 : SET calcule les nouvelles valeurs (salaire × 1.10)
-- Étape 4 : vérifier les contraintes sur les nouvelles valeurs
-- Étape 5 : écrire les modifications en base
UPDATE employes
SET salaire = salaire * 1.10
WHERE departement = 'Ventes';
La commande DELETE en 4 étapes
DELETE suit quatre étapes : identification de la table, sélection des lignes par WHERE, vérification des contraintes de clés étrangères, puis suppression physique des lignes. L’outil affiche en jaune les lignes ciblées par WHERE departement = 'Interim' (David, Farid, Hugo), puis les barre en rouge à l’étape de suppression. Les lignes non ciblées restent intactes et sans mise en forme particulière.
L’étape de vérification des contraintes est critique : si une ligne à supprimer est référencée par une clé étrangère dans une autre table, le moteur applique le comportement défini par ON DELETE. L’option RESTRICT bloque la suppression, CASCADE supprime automatiquement les lignes enfants, et SET NULL remplace la référence par NULL.
-- Étape 1 : identifier la table cible
-- Étape 2 : WHERE sélectionne les lignes à supprimer (Interim)
-- Étape 3 : vérifier les contraintes FK (CASCADE / RESTRICT / SET NULL)
-- Étape 4 : supprimer les lignes ciblées de la table
DELETE FROM employes
WHERE departement = 'Interim';
ARTICLES LIÉS
SQL INSERT INTO: Comment insérer des données dans une table en SQL ?
La commande SQL INSERT INTO ajoute une ou plusieurs lignes de données dans une table existante d’une base de données relationnelle. Syntaxe de baseComparaison des syntaxesComment insérer une seule ligne en SQL ?Comment insérer plusieurs lignes en même temps ?Comment copier des données en SQL ?Différence entre INSERT INTO et INSERT…
SQL UPDATE: Comment mettre à jour des données en SQL ?
La commande SQL UPDATE modifie les données existantes dans une table de base de données. Cette instruction cible des lignes spécifiques via une clause WHERE et remplace les valeurs des colonnes désignées par la clause SET. Les développeurs utilisent UPDATE pour corriger des erreurs, actualiser des prix, changer des statuts ou synchroniser…
SQL DELETE: Comment utiliser DELETE en SQL ?
La commande SQL DELETE supprime définitivement une ou plusieurs lignes d’une table en ciblant les enregistrements via une clause WHERE. Syntaxe de baseSupprimer une ligne via son identifiantSupprimer avec une condition multipleSélectionner les enregistrements avant de supprimerSupprimer avec une transactionSupprimer sur plusieurs tables avec une jointureSupprimer avec EXISTSImplémenter le soft DELETECompatibilité SGBDBonnes…