La instrucción SQL UPDATE se utiliza para modificar registros existentes en una tabla. Le permite cambiar uno o más valores de columna para filas específicas usando la cláusula WHERE. Sin una condición WHERE, se actualizarán todas las filas de la tabla.
Ejemplo: primero lo haremos crear una base de datos SQL de demostración y una tabla en la que usaremos el comando ACTUALIZAR.
Consulta:
UPDATE Employees
SET Salary = 65000
WHERE Name = 'Bob';
Sintaxis:
UPDATE table_name
SET column1 = value1 column2 = value2...
WHERE condition
- nombre_tabla: Nombre de la tabla que desea actualizar.
- COLOCAR: Las columnas que desea actualizar y sus nuevos valores.
- DÓNDE: Filtra las filas específicas que desea actualizar.
Nota: La palabra clave SET asigna nuevos valores a las columnas mientras que la cláusula WHERE selecciona qué filas actualizar. Sin DONDE se actualizarán todas las filas.
buey contra toro
Ejemplos de declaración ACTUALIZACIÓN de SQL
Comencemos creando una tabla de Clientes con algunos datos de muestra. Esta tabla contiene el ID único de cada cliente, nombre, apellido, número de teléfono y país. Lo usaremos para demostrar cómo funciona la declaración ACTUALIZAR en SQL.
Consulta:
CREAR TABLA Cliente (
IDCliente INT CLAVE PRIMARIA
Nombre del cliente VARCHAR(50)
Apellido VARCHAR(50)
País VARCHAR(50)
Edad INT
Teléfono VARCHAR(15)
);
-- Insertar datos de muestra
INSERTAR EN Cliente (ID de cliente Nombre de cliente Apellido País Edad Teléfono)
VALORES(1 'Liam' 'Brown' 'Reino Unido' 25 '441234567890')
(2 'Sofía' 'Martínez' 'España' 23' 341234567890')
(3 'Akira' 'Tanaka' 'Japón' 26' 811234567890')
(4 'Hans' 'Müller' 'Alemania' 27' 491234567890')
(5 'Olivia' 'Dubois' 'Francia' 24' 331234567890');
Producción:
Ejemplo 1: actualizar una sola columna mediante la instrucción UPDATE
Tenemos una tabla de Clientes y queremos actualizar el Nombre del Cliente donde la Edad es 22.
Consulta:
UPDATE Customer
SET CustomerName = 'Isabella'
WHERE Age = 23;
Producción:
Explicación:
- La consulta actualiza el nombre del cliente a 'Isabella'
- Sólo afecta a la fila donde Edad = 23
- Se utiliza para modificar datos existentes en un registro específico.
Ejemplo 2: actualización de varias columnas mediante la instrucción UPDATE
Necesitamos actualizar tanto el Nombre del Cliente como el País para un ID de Cliente específico.
Consulta:
UPDATE Customer
SET CustomerName = 'John'
Country = 'Spain'
WHERE CustomerID = 1;
Producción :
Explicación:
- La consulta tiene como destino la fila donde CustomerID = 1.
- Actualiza CustomerName a 'John' y Country a 'Spain'.
- Ambas columnas se actualizan simultáneamente en una única declaración SQL.
Nota: Para actualizar varias columnas, hemos utilizado coma() para separar los nombres y valores de dos columnas.
Ejemplo 3: omitir la cláusula WHERE en la declaración UPDATE
Si accidentalmente omitimos la cláusula WHERE, todas las filas de la tabla se actualizarán, lo cual es un error común. Actualicemos el CustomerName para cada registro de la tabla:
Consulta:
UPDATE Customer
SET CustomerName = 'ALice';
Producción
Explicación:
- La consulta actualiza cada fila de la tabla Cliente.
- Establece la columna CustomerName en 'Alice' para todos los registros.
- Como no existe una cláusula WHERE, el cambio se aplica a toda la tabla.