TOP

SQL UPDATE

Descrizione SQL UPDATE

L'istruzione UPDATE viene utilizzata per modificare i record esistenti in una tabella.


UPDATE Sintassi

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition
Fai attenzione quando aggiorni le voci nella tabella! Notare l'espressione WHERE nell'istruzione UPDATE. L'espressione WHERE specifica quali record aggiornare. Se ometti l'espressione WHERE, tutti i record nella tabella verranno aggiornati!

Banca dati dimostrativa

Quello che segue è un esempio della tabella "Customers" ("Clienti") del database "Northwind":

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Esempio di tabelle SQL UPDATE

La seguente query SQL aggiorna il primo cliente (CustomerID = 1) con una nuova persona di contatto e una nuova città (City).

UPDATE Customers 
SET ContactName = 'Alfred Schmidt', City = 'Frankfurt' 
WHERE CustomerID = 1

La selezione dalla tabella "Customers" sarà ora simile a questa:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea S-958 22 Sweden

SQL UPDATE Esempio di recupero di più record

L'espressione WHERE determina il numero di record che verranno aggiornati.

La seguente query SQL cambierà ContactName in "Juan" per tutti i record in cui il Paese è "Messico":

UPDATE Customers 
SET ContactName = 'Juan' 
WHERE Country = 'Mexico'

La selezione dalla tabella "Customers" sarà ora simile a questa:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Juan Mataderos 2312 Mexico D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea S-958 22 Sweden

Attenzione quando si utilizza SQL Update!

Fai attenzione quando aggiorni i record. Se ometti l'espressione WHERE, tutti i record verranno aggiornati!
UPDATE Customers 
SET ContactName = 'Juan'

La selezione dalla tabella "Customers" sarà ora simile a questa:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Juan Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Juan Mataderos 2312 Mexico D.F. 05023 Mexico
4 Around the Horn Juan 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Juan Berguvsvagen 8 Lulea S-958 22 Sweden