Parce que les bases de données sont amenées à évoluer constamment, il est primordial de connaître la requête UPDATE SQL. Celle-ci vous permet de modifier une ou plusieurs lignes de votre tableau. Alors comment l’utiliser ? On vous explique tout dans cet article.
Qu'est-ce que UPDATE SQL ?
La commande SQL UPDATE est utilisée pour mettre à jour des données au sein d’une table. C’est indispensable si vous souhaitez conserver une base de données avec des informations actuelles et fiables.
Comme la qualité des données est l’un des plus gros enjeux des experts data, UPDATE est l’une des requêtes les plus courantes dans le langage SQL.
Comment utiliser la commande UPDATE SQL ?
La syntaxe de la requête UPDATE SQL est la suivante :
UPDATE nom de la table
SET nom de la colonne = ‘nouvelle valeur’
WHERE condition
Pour mieux la comprendre, il convient de revenir sur ces principaux attributs, à savoir :
- La clause SET : cela permet de définir par quoi vous allez remplacer les données existantes. Ici, seules les colonnes à modifier doivent être mentionnées. Toutes les autres conservent leurs valeurs actuelles.
- La clause WHERE : elle permet de spécifier où portent les modifications.
Au-delà de cette syntaxe simplifiée, il est aussi possible d’utiliser la fonction UPDATE avec d’autres requêtes SQL, comme : SELECT, INSERT INTO, GETDATE, INNER, JOIN, etc. Cela permet ainsi d’enrichir votre base de données et de réaliser des manipulations plus complexes.
5 exemples d’utilisation de la requête UPDATE
Modifier une ligne
Dans cet exemple, nous utilisons le tableau Client ci-dessous.
ID | Prénom | Nom | Ville | |
---|---|---|---|---|
1 | Justin | Martin | Paris | justinemartin@gmail.com |
2 | Thomas | Durant | Bordeaux | tomtom@sfr.fr |
3 | Marie | Leroy | Angers | marieleroy@laposte.net |
4 | Vanessa | Savary | Marseille | vanessa13@gmail.com |
Ici, vous souhaitez mettre à jour l’adresse email de Justine Martin. Voici sa nouvelle adresse : justinemartin@sfr.fr. Pour cela, il suffit de renseigner la requête suivante :
UPDATE Client
SET Email = ‘justinemartin@sfr.fr’
WHERE id = 1
Et voici le résultat :
ID | Prénom | Nom | Ville | |
---|---|---|---|---|
1 | Justin | Martin | Paris | justinemartin@sfr.fr |
2 | Thomas | Durant | Bordeaux | tomtom@sfr.fr |
3 | Marie | Leroy | Angers | marieleroy@laposte.net |
4 | Vanessa | Savary | Marseille | vanessa13@gmail.com |
Modifier plusieurs données
Si vous souhaitez modifier plusieurs informations au sein d’une même ligne, il suffit de séparer les nouvelles valeurs par une virgule.
Dans le cadre de notre exemple, vous souhaitez modifier l’adresse email de Justine Martin, mais aussi sa ville. Elle habite désormais à Nantes.
Voici la requête :
UPDATE Client
SET
Ville = ‘Nantes’,
Email = ‘justinemartin@sfr.fr’
WHERE id = 1
Et le nouveau tableau :
ID | Prénom | Nom | Ville | |
---|---|---|---|---|
1 | Justin | Martin | Nantes | justinemartin@sfr.fr |
2 | Thomas | Durant | Bordeaux | tomtom@sfr.fr |
3 | Marie | Leroy | Angers | marieleroy@laposte.net |
4 | Vanessa | Savary | Marseille | vanessa13@gmail.com |
Modifier toutes les lignes
Si vous souhaitez modifier toutes les lignes de la table, il suffit d’omettre la requête WHERE. Par exemple, si tous les clients déménagent à Lyon, voici la requête à enregistrer :
UPDATE Client
SET
Ville = ‘Lyon’
Et le nouveau tableau :
ID | Prénom | Nom | Ville | |
---|---|---|---|---|
1 | Justin | Martin | Lyon | justinemartin@sfr.fr |
2 | Thomas | Durant | Lyon | tomtom@sfr.fr |
3 | Marie | Leroy | Lyon | marieleroy@laposte.net |
4 | Vanessa | Savary | Lyon | vanessa13@gmail.com |
Modifier les données à partir des données d’un autre tableau
Pour cet exemple, nous utilisons deux tableaux.
Le premier « Produits » répertorie les produits vendus par une entreprise et le commercial ayant réalisé la vente :
Produit | Prix | Commercial ID | Nom du commercial |
---|---|---|---|
Batterie | 100 | 5 | NULL |
Téléphone | 300 | 1 | NULL |
Ordinateur | 800 | 3 | NULL |
Le second « Employé » répertorie les salariés d’une entreprise.
ID | Prix | Commercial ID |
---|---|---|
1 | Justin | Martin |
2 | Thomas | Durant |
3 | Marie | Leroy |
4 | Vanessa | Savary |
5 | Jean | Dupont |
L’objectif étant d’identifier le nom du commercial ayant réalisé la vente en fonction de son identifiant. Ce nom sera ensuite intégré dans le tableau produit.
Pour cela, voici la requête à enregistrer :
UPDATE Produit
SET Nom du commercial = (SELECT “nom” from “Employé” WHERE commercial ID = ID)
Et voici le résultat :
ID | Produit | Prix | Commercial ID | Nom du commercial |
---|---|---|---|---|
1 | Batterie | 100 | 5 | Dupont |
2 | Téléphone | 300 | 1 | Martin |
3 | Ordinateur | 800 | 3 | Leroy |
Actualiser l’heure avec SQL UPDATE
Il est aussi possible d’utiliser la requête SQL UPDATE avec la commande GETDATE pour actualiser l’heure et la date.
Par exemple, avec ce tableau « Produit », vous souhaitez mettre à jour la date d’achat des produits ci-dessous avec la date d’aujourd’hui (25/04/2023).
ID | Produit | Prix | Date d'achat |
---|---|---|---|
1 | Batterie | 100 | 01/03/2023 |
2 | Téléphone | 300 | 06/03/2022 |
3 | Ordinateur | 800 | 15/04/2023 |
Pour cela, il convient de renseigner la requête suivante :
UPDATE Produit
SET date d’achat = GETDATE()
Le tableau est le suivant :
ID | Produit | Prix | Date d'achat |
---|---|---|---|
1 | Batterie | 100 | 25/04/2023 |
2 | Téléphone | 300 | 25/04/2023 |
3 | Ordinateur | 800 | 25/04/2023 |
Vous l’aurez compris, il est possible d’utiliser la requête SQL UPDATE d’une multitude de manières. La rédaction d’un simple article de blog semble insuffisante pour parcourir la grande diversité des utilisations possibles. Si vous souhaitez en savoir plus, n’hésitez pas à rejoindre l’une de nos formations chez DataScientest.
Développez vos connaissances du langage SQL
Si le langage SQL constitue la base indispensable pour manipuler des bases de données relationnelles, sa maîtrise nécessite une formation avec plusieurs heures de pratique. C’est justement pour cette raison que nous vous proposons différentes formations chez DataScientest. Chacune étant orientée métier ou outils, vous développerez vos compétences du langage SQL en fonction de vos besoins spécifiques.