PaliSkill
SQL Intermédiaire

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 WHERE dans un UPDATE ou un DELETE applique 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

À faire

Quel 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

À faire

Dans 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

À faire

Exé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.

Quitter le module