La instrucció SQL UPDATE s'utilitza per modificar els registres existents en una taula. Us permet canviar un o més valors de columna per a files específiques mitjançant la clàusula WHERE. Sense una condició WHERE, totes les files de la taula s'actualitzaran.
Exemple: Primer ho farem crear una base de dades SQL de demostració i una taula en què utilitzarem l'ordre UPDATE Statement.
Consulta:
UPDATE Employees
SET Salary = 65000
WHERE Name = 'Bob';
Sintaxi:
UPDATE table_name
SET column1 = value1 column2 = value2...
WHERE condition
- nom_taula: Nom de la taula que voleu actualitzar.
- CONJUNT: Les columnes que voleu actualitzar i els seus nous valors.
- ON: Filtra les files específiques que voleu actualitzar.
Nota: La paraula clau SET assigna nous valors a les columnes mentre que la clàusula WHERE selecciona quines files s'han d'actualitzar. Sense ON s'actualitzaran totes les files.
Exemples de la instrucció SQL UPDATE
Comencem per crear una taula de clients amb algunes dades de mostra. Aquesta taula conté l'identificador únic de cada client, el cognom, el número de telèfon i el país. L'utilitzarem per demostrar com funciona la instrucció UPDATE en SQL.
Consulta:
CREAR TAULA Client (
CustomerID INT CLAU PRIMÀRIA
Nom del client VARCHAR(50)
Cognom VARCHAR(50)
País VARCHAR(50)
Edat INT
Telèfon VARCHAR(15)
);
-- Insereix dades de mostra
INSERT INTO Client (ID del client Nom del client Cognom País Edat Telèfon)
VALORS(1 'Liam' 'Brown' 'Regne Unit' 25 '441234567890')
(2 'Sofia' 'Martinez' 'Espanya' 23 '341234567890')
(3 'Akira' 'Tanaka' 'Japó' 26 '811234567890')
(4 'Hans' 'Müller' 'Alemanya' 27 '491234567890')
(5 'Olivia' 'Dubois' 'France' 24 '331234567890');
Sortida:
Exemple 1: actualitzeu una columna mitjançant la instrucció UPDATE
Tenim una taula de clients i volem actualitzar el CustomerName on l'edat és de 22 anys.
vistes i taules
Consulta:
UPDATE Customer
SET CustomerName = 'Isabella'
WHERE Age = 23;
Sortida:
Explicació:
- La consulta actualitza el CustomerName a "Isabella"
- Només afecta la fila on Edat = 23
- S'utilitza per modificar les dades existents en un registre específic.
Exemple 2: actualització de diverses columnes mitjançant la instrucció UPDATE
Hem d'actualitzar tant el CustomerName com el Country per a un CustomerID específic.
Consulta:
UPDATE Customer
SET CustomerName = 'John'
Country = 'Spain'
WHERE CustomerID = 1;
Sortida :
Explicació:
- La consulta s'adreça a la fila on CustomerID = 1.
- Actualitza CustomerName a "John" i Country a "Espanya".
- Les dues columnes s'actualitzen simultàniament en una sola instrucció SQL.
Nota: Per actualitzar diverses columnes hem utilitzat coma() per separar els noms i els valors de dues columnes.
Exemple 3: omissió de la clàusula WHERE a la instrucció UPDATE
Si ometem accidentalment la clàusula WHERE s'actualitzaran totes les files de la taula, que és un error comú. Actualitzem el CustomerName per a cada registre de la taula:
Consulta:
UPDATE Customer
SET CustomerName = 'ALice';
Sortida
Explicació:
- La consulta s'actualitza cada fila de la taula Client.
- Estableix la columna CustomerName a "Alice" per a tots els registres.
- Com que no hi ha cap clàusula WHERE, el canvi s'aplica a tota la taula.