Database
 sql >> Database >  >> RDS >> Database

AGGIORNAMENTO SQL per principianti

Questo articolo contiene UPDATE di base di SQL istruzioni che i principianti possono utilizzare per aggiornare i dati nelle tabelle del database.

Aggiorna una singola colonna

Ecco un esempio di base di SQL UPDATE dichiarazione.

UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

In questo caso abbiamo aggiornato il valore di una singola colonna denominata LastName .

Il UPDATE l'istruzione inizia con UPDATE , seguito dal nome della tabella (ovvero la tabella che contiene i dati che desideri aggiornare).

Quindi ha il SET parola chiave, seguita dalla colonna che vuoi aggiornare e dal nuovo valore, separato da un uguale (= ) operatore.

Dovresti sempre includere un WHERE clausola, a meno che non si desideri aggiornare tutte le righe con lo stesso valore.

Sì, avete letto bene. Omettendo il WHERE La clausola aggiornerà tutte le righe con lo stesso valore.

La maggior parte dei sistemi di gestione dei database (DBMS) ha varie altre opzioni che puoi utilizzare con UPDATE dichiarazione, ma quelli qui elencati sono quelli più comunemente usati.

Aggiorna più colonne

Per aggiornare più colonne, separa ciascuna colonna/coppia di valori con una virgola.

UPDATE Owners
SET LastName = 'Stallone',
    Email = '[email protected]'
WHERE OwnerId = 3;

Esempio

In questo esempio, aggiorniamo una tabella.

Per prima cosa, selezioniamo il contenuto della tabella.

SELECT * FROM Owners;

Risultato:

+-----------+-------------+------------+----------------+-------------------+
| 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 si è sposata di recente e ha cambiato il suo cognome, quindi aggiorneremo Simpson a Stallone .

Ora aggiorniamo quella colonna, quindi selezioniamo di nuovo la tabella.

UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

SELECT * FROM Owners;

Risultato:

+-----------+-------------+------------+----------------+-------------------+
| 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] |
+-----------+-------------+------------+----------------+-------------------+

Possiamo vedere che la colonna è stata aggiornata come specificato.

Aggiorna più colonne

Ecco un esempio di aggiornamento di più colonne.

UPDATE Owners
SET LastName = 'Biden',
    Email = '[email protected]'
WHERE OwnerId = 4;

SELECT * FROM Owners;

Risultato:

+-----------+-------------+------------+----------------+-------------------+
| 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] |
+-----------+-------------+------------+----------------+-------------------+

In questo caso abbiamo aggiornato il cognome e l'indirizzo email del proprietario 4.

Attenzione! Dimenticando il WHERE Clausola

Il UPDATE affermazione può essere un'affermazione molto pericolosa se non mantieni il tuo ingegno su di te. Se ometti il ​​WHERE clausola, aggiornerai tutti righe nella tabella.

Riprendiamo l'esempio precedente, ma questa volta dimenticheremo di includere il WHERE clausola.

UPDATE Owners
SET LastName = 'Stallone';

SELECT * FROM Owners;

Risultato:

+-----------+-------------+------------+----------------+-------------------+
| 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] |
+-----------+-------------+------------+----------------+-------------------+

Ops! Ora il cognome di tutti è Stallone!

Potrebbero esserci momenti in cui intendi effettivamente aggiornare tutte le righe della tabella, ma quei tempi sono generalmente piuttosto rari.

Quando esegui query ad hoc, potresti voler eseguire un rapido SELECT istruzione che utilizza la stessa condizione del tuo UPDATE operazione prima di eseguire effettivamente l'UPDATE operazione.

SELECT * FROM Owners
WHERE OwnerId = 4;

Risultato:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

Questo ci mostra la riga esatta che verrà aggiornata. Una volta che siamo soddisfatti che sta restituendo la riga corretta, possiamo procedere e utilizzare lo stesso WHERE clausola nel UPDATE dichiarazione.