English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQL Mise à jour des données (instruction UPDATE)
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.
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_name,column2_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 | +--------+--------------+------------+--------+---------+
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 | +--------+------------------+------------+--------+---------+
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 | +--------+------------------+------------+--------+---------+