Adloun

Corriger une faute de saisie

Exercice d'entraînement · niveau 2 · mathématiques appliquées (ECG 2e année), chapitre 13 — Bases de données et travaux pratiques · Modifier une base

Énoncé

La table client contient les lignes suivantes.

idnomville
1DurandLion
2PetitNantes
3NguyenLion
4RouxLyon

Écrire la requête corrigeant la faute d'orthographe, dire combien de lignes elle modifie, et ce qui se passerait si l'on omettait la condition.

Corrigé

La requête.


UPDATE client
SET ville = 'Lyon'
WHERE ville = 'Lion';

Les trois parties. UPDATE nomme la table à modifier, SET indique la nouvelle valeur, WHERE désigne les lignes concernées. La chaîne est entre apostrophes simples, et le signe = sert ici deux fois pour deux rôles différents : affectation après SET, comparaison après WHERE. SQL ne les distingue pas typographiquement, contrairement à Python.

Le nombre de lignes modifiées. La condition ville = 'Lion' est vérifiée par les lignes et seulement : la ligne porte « Nantes », et la ligne porte déjà « Lyon », qui n'est pas « Lion ». La requête modifie donc deux lignes.

Après exécution, la table est :

idnomville
1DurandLyon
2PetitNantes
3NguyenLyon
4RouxLyon

Sans la condition. La requête UPDATE client SET ville = 'Lyon'; mettrait toutes les lignes à « Lyon », y compris celle de Petit, qui habite Nantes. Aucun avertissement ne serait émis, et l'information d'origine serait perdue définitivement : rien ne permettrait de retrouver « Nantes ».

Le point à retenir. La clause WHERE n'est pas une décoration : elle est ce qui borne l'effet d'un UPDATE. L'oublier ne provoque pas d'erreur — c'est précisément ce qui rend l'oubli dangereux.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.