Cet article contient le SQL de base UPDATE instructions que les débutants peuvent utiliser pour mettre à jour les données dans leurs tables de base de données.
Mettre à jour une seule colonne
Voici un exemple de base du SQL UPDATE déclaration.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;
Dans ce cas, nous avons mis à jour la valeur d'une seule colonne appelée LastName .
La UPDATE l'instruction commence par UPDATE , suivi du nom de la table (c'est-à-dire la table qui contient les données que vous souhaitez mettre à jour).
Il a alors le SET mot-clé, suivi de la colonne que vous souhaitez mettre à jour et de la nouvelle valeur, séparés par un égal (= ) opérateur.
Vous devez toujours inclure un WHERE clause, sauf si vous souhaitez mettre à jour toutes les lignes avec la même valeur.
Oui, tu l'as bien lu. Omettre le WHERE la clause mettra à jour toutes les lignes avec la même valeur.
La plupart des systèmes de gestion de base de données (SGBD) ont diverses autres options que vous pouvez utiliser avec le UPDATE déclaration, mais celles répertoriées ici sont les plus couramment utilisées.
Mettre à jour plusieurs colonnes
Pour mettre à jour plusieurs colonnes, séparez chaque paire colonne/valeur par une virgule.
UPDATE Owners
SET LastName = 'Stallone',
Email = 'example@sqldat.com'
WHERE OwnerId = 3; Exemple
Dans cet exemple, nous mettons à jour une table.
Tout d'abord, sélectionnons le contenu du tableau.
SELECT * FROM Owners; Résultat :
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Simpson | (489) 591-0408 | NULL | | 4 | Boris | Trump | (349) 611-8908 | NULL | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
Nancy Simpson s'est récemment mariée et a changé son nom de famille, nous allons donc mettre à jour Simpson à Stallone .
Maintenant, mettons à jour cette colonne, puis sélectionnons à nouveau le tableau.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;
SELECT * FROM Owners; Résultat :
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Trump | (349) 611-8908 | NULL | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
Nous pouvons voir que la colonne a été mise à jour comme spécifié.
Mettre à jour plusieurs colonnes
Voici un exemple de mise à jour de plusieurs colonnes.
UPDATE Owners
SET LastName = 'Biden',
Email = 'example@sqldat.com'
WHERE OwnerId = 4;
SELECT * FROM Owners; Résultat :
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Biden | (349) 611-8908 | example@sqldat.com | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
Dans ce cas, nous avons mis à jour le nom et l'adresse e-mail du propriétaire 4.
Attention ! Oublier le WHERE Article
La UPDATE déclaration peut être une déclaration très dangereuse si vous ne gardez pas votre esprit sur vous. Si vous omettez le WHERE clause, vous mettrez à jour tous lignes du tableau.
Reprenons l'exemple précédent, mais cette fois nous oublierons d'inclure le WHERE clause.
UPDATE Owners
SET LastName = 'Stallone';
SELECT * FROM Owners; Résultat :
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Stallone | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Stallone | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Stallone | (349) 611-8908 | NULL | | 5 | Woody | Stallone | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
Oups! Maintenant, le nom de famille de tout le monde est Stallone !
Il peut y avoir des moments où vous avez en fait l'intention de mettre à jour toutes les lignes de la table, mais ces moments sont généralement assez rares.
Lorsque vous exécutez des requêtes ad hoc, vous souhaiterez peut-être exécuter un rapide SELECT déclaration qui utilise la même condition de votre UPDATE opération avant d'exécuter réellement la UPDATE opération.
SELECT * FROM Owners
WHERE OwnerId = 4; Résultat :
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 4 | Boris | Biden | (349) 611-8908 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
Cela nous montre la ligne exacte qui sera mise à jour. Une fois que nous sommes convaincus qu'il renvoie la bonne ligne, nous pouvons continuer et utiliser ce même WHERE clause dans la UPDATE déclaration.