Database
 sql >> Base de données >  >> RDS >> Database

MISE À JOUR SQL pour les débutants

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 = '[email protected]'
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 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Simpson    | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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 = '[email protected]'
WHERE OwnerId = 4;

SELECT * FROM Owners;

Résultat :

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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 | [email protected] |
| 2         | Bart        | Stallone   | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Stallone   | (349) 611-8908 | NULL              |
| 5         | Woody       | Stallone   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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.