English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Manuel de référence SQL

SQL Mise à jour des données (instruction UPDATE)

Dans ce tutoriel, vous apprendrez à utiliser SQL pour mettre à jour les enregistrements dans une table de base de données.

Mise à jour des données du tableauDans les chapitres précédents, nous avons appris à mettre à jour les données du tableau en fonction de diverses conditionset comment insérer des données dans une table de base de donnéesSélectionner des données de requête。Dans ce tutoriel, nous allons apprendre à effectuer une tâche plus importante, à savoir mettre à jour les enregistrements existants dans une table de base de données.

Syntaxe

L'instruction UPDATE est utilisée pour mettre à jour les données existantes dans un tableau.

UPDATE table_name SET column1_name = value1, column2_name = value2,... WHERE condition;

icicolumn1_namecolumn2_name,... est le nom de la colonne ou du champ de la table de base de données dont la valeur doit être mise à jour. Vous pouvez également utiliser les opérateurs OR et AND que vous avez appris au chapitre précédentCombiner plusieurs conditions

Avertissement :La clause WHERE de l'instruction UPDATE spécifie les enregistrements à mettre à jour. Si la clause WHERE est omise, tous les enregistrements seront mis à jour.

Voyons quelques exemples pour illustrer leur fonctionnement réel.

Supposons que nous ayons dans la base de données uneemployeesun tableau, qui contient les enregistrements suivants :

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank | 2008-06-24 |   5600 |    NULL |
+--------+--------------+------------+--------+---------+

Mise à jour d'une seule colonne

La requête SQL suivante mettra à jouremployeesdu tableauemp_nameun champ et définir une nouvelle valeur, où l'ID employé (c'est-à-direemp_id)vaut3。

UPDATE employees SET emp_name = 'Sarah Ann Connor'
WHERE emp_id = 3;

Après l'exécution, le tableau de résultats sera comme suit :

+--------+------------------+------------+--------+---------+
| emp_id | emp_name         | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt       | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank     | 2008-06-24 |   5600 |    NULL |
+--------+------------------+------------+--------+---------+

Mise à jour de plusieurs colonnes

De même, vous pouvez utiliser une liste de noms de colonnes et de valeurs associées séparées par des virgules pour mettre à jour plusieurs colonnes. L'exemple suivant mettra à jouremployeesdans le tableauemp_idpour5 des employés existantssalaryetdept_idChamps.

UPDATE employees
SET salary = 6000, dept_id = 2
WHERE emp_id = 5;

Après l'exécution, le tableau de résultats sera comme suit :

+--------+------------------+------------+--------+---------+
| emp_id | emp_name         | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt       | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank     | 2008-06-24 |   6000 |       2 |
+--------+------------------+------------+--------+---------+