English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Aggiornamento dei dati SQL (istruzione UPDATE)
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.
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 | +--------+--------------+------------+--------+---------+
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 | +--------+------------------+------------+--------+---------+
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 | +--------+------------------+------------+--------+---------+