Leçon 1 / 10 — Chapitre 6: Modifier les données avec rigueur
INSERT, UPDATE, DELETE : rappel de la syntaxe
Trois commandes modifient les données d'une table (contrairement à SELECT, qui ne fait que les lire).
INSERT INTO produits (nom, categorie, prix, stock)
VALUES ('Gomme', 'papeterie', 150, 80);
INSERT INTO table (colonnes) VALUES (valeurs); ajoute une nouvelle ligne.
UPDATE produits SET prix = 550 WHERE id = 1;
UPDATE table SET colonne = valeur WHERE condition; modifie les lignes qui remplissent la condition — ici, uniquement la ligne dont id vaut 1.
DELETE FROM produits WHERE id = 2;
DELETE FROM table WHERE condition; supprime les lignes qui remplissent la condition.
La clause WHERE est ce qui protège les autres lignes : UPDATE produits SET prix = 550; sans WHERE changerait le prix de toutes les lignes de la table, et DELETE FROM produits; sans WHERE supprimerait toutes les lignes — un oubli fréquent et particulièrement dangereux, puisqu'il n'y a alors aucune condition pour restreindre les lignes concernées.
À retenir :
INSERT INTO table (colonnes) VALUES (valeurs);ajoute une nouvelle ligne.UPDATE table SET colonne = valeur WHERE condition;modifie les lignes qui remplissent la condition.DELETE FROM table WHERE condition;supprime les lignes qui remplissent la condition.- Omettre
WHEREdans unUPDATEou unDELETEapplique l'opération à toutes les lignes de la table — une erreur à éviter absolument en production.
À vous de jouer : écrivez un UPDATE qui augmente le stock du Cahier de 10 unités, en n'oubliant surtout pas le WHERE.
À vous de jouer
À faireQuel mot-clé SQL permet d'ajouter une nouvelle ligne dans une table, comme dans INSERT INTO produits (nom, categorie, prix, stock) VALUES ('Gomme', 'papeterie', 150, 80); ?
Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.
💡 Un mot-clé SQL (en majuscules par convention).
À vous de jouer
À faireDans UPDATE produits SET prix = 550 WHERE id = 1;, quelle clause détermine précisément QUELLES lignes seront modifiées ?
Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.
💡 Un mot-clé SQL (en majuscules par convention).
À vous de jouer
À faireExécuter DELETE FROM produits; (sans aucune clause WHERE) supprime-t-il TOUTES les lignes de la table produits ? Répondez par oui ou non.
Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.
💡 Oui ou non.