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

Manuale di riferimento SQL

Aggiornamento dei dati SQL (istruzione UPDATE)

In questo tutorial, imparerai come utilizzare SQL per aggiornare i record nella tabella del database.

Aggiornare i dati della tabellaIn precedenti capitoli, abbiamo imparato come aggiornare i dati della tabella in base a vari condizionie come inserire i dati nella tabella del databaseSelezionare i dati della query. Nel presente tutorial, impareremo a eseguire un compito più importante, ovvero aggiornare i record esistenti nella tabella del database.

Sintassi

L'istruzione UPDATE viene utilizzata per aggiornare i dati esistenti nella tabella.

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

Qui,column1_name,column2_name,... è il nome della colonna o del campo della tabella del database da aggiornare. Puoi anche usare gli operatori OR e AND che hai imparato nel capitolo precedenteCombinare più condizioni.

Attenzione:La clausola WHERE dell'istruzione UPDATE specifica i record da aggiornare. Se si omette la clausola WHERE, tutti i record verranno aggiornati.

Ecco alcuni esempi che dimostrano come funziona in pratica.

Supponiamo di avere unemployeestabella, che ha i seguenti record:

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

Aggiornamento di un singolo campo

Le seguenti istruzioni SQL aggiornerannoemployeestabellaemp_namecampi e impostare un nuovo valore, dove l'id del dipendente (ovveroemp_id)è uguale a 3.

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

Dopo l'esecuzione, il risultato della tabella sarà come segue:

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

Aggiornamento di più colonne

Inoltre, puoi utilizzare una lista di coppie di nomi di colonne e valori separati da virgola per aggiornare più colonne. L'esempio seguente aggiorneràemployeesnella tabellaemp_idper i dipendenti esistenti consalaryedept_idcampo.

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

Dopo l'esecuzione, il risultato della tabella sarà come segue:

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