PostgreSQL - Query di AGGIORNAMENTO
Il PostgreSQL UPDATELa query viene utilizzata per modificare i record esistenti in una tabella. È possibile utilizzare la clausola WHERE con la query UPDATE per aggiornare le righe selezionate. Altrimenti, tutte le righe verrebbero aggiornate.
Sintassi
La sintassi di base della query UPDATE con la clausola WHERE è la seguente:
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
È possibile combinare un numero N di condizioni utilizzando gli operatori AND o OR.
Esempio
Considera la tabella AZIENDA , con le seguenti registrazioni:
testdb# select * from COMPANY;
id | name | age | address | salary
----+-------+-----+-----------+--------
1 | Paul | 32 | California| 20000
2 | Allen | 25 | Texas | 15000
3 | Teddy | 23 | Norway | 20000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
6 | Kim | 22 | South-Hall| 45000
7 | James | 24 | Houston | 10000
(7 rows)
Quello che segue è un esempio, che aggiorna ADDRESS per un cliente, il cui ID è 6 -
testdb=# UPDATE COMPANY SET SALARY = 15000 WHERE ID = 3;
Ora, la tabella AZIENDA avrebbe i seguenti record:
id | name | age | address | salary
----+-------+-----+------------+--------
1 | Paul | 32 | California | 20000
2 | Allen | 25 | Texas | 15000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
6 | Kim | 22 | South-Hall | 45000
7 | James | 24 | Houston | 10000
3 | Teddy | 23 | Norway | 15000
(7 rows)
Se si desidera modificare tutti i valori delle colonne ADDRESS e SALARY nella tabella COMPANY, non è necessario utilizzare la clausola WHERE e la query UPDATE sarebbe la seguente:
testdb=# UPDATE COMPANY SET ADDRESS = 'Texas', SALARY=20000;
Ora, la tabella AZIENDA avrà i seguenti record:
id | name | age | address | salary
----+-------+-----+---------+--------
1 | Paul | 32 | Texas | 20000
2 | Allen | 25 | Texas | 20000
4 | Mark | 25 | Texas | 20000
5 | David | 27 | Texas | 20000
6 | Kim | 22 | Texas | 20000
7 | James | 24 | Texas | 20000
3 | Teddy | 23 | Texas | 20000
(7 rows)