Hasta ahora hemos aprendido a:
Crear tablas (CREATE TABLE)
Insertar registros (INSERT)
Consultar información (SELECT)
Sin embargo, en aplicaciones reales los datos cambian constantemente. Un empleado puede cambiar de departamento, un producto puede cambiar de precio o un cliente puede actualizar su información.
Para modificar registros existentes utilizamos la instrucción:
UPDATE
🧠 ¿Qué es UPDATE?
La instrucción UPDATE permite modificar uno o varios registros existentes en una tabla.
Sintaxis general:
UPDATE nombre_tabla
SET columna1 = valor1,
columna2 = valor2
WHERE condicion;
Donde:
UPDATE indica la tabla a modificar.
SET especifica los nuevos valores.
WHERE define qué registros serán actualizados.
⚠️ Importancia de la cláusula WHERE
La cláusula WHERE suele ser la parte más importante de un UPDATE.
Si la omites, PostgreSQL actualizará todos los registros de la tabla.
Por ejemplo:
UPDATE empleados
SET salario = 30000;
Esto modificará el salario de todos los empleados.
Por esta razón, siempre es recomendable revisar cuidadosamente la condición WHERE.
🏗️ Ejemplo Completo
Paso 1: Crear una tabla
Crearemos una tabla de empleados.
CREATE TABLE empleados (
id INTEGER,
nombre VARCHAR(100),
departamento VARCHAR(100),
salario NUMERIC(10,2),
activo BOOLEAN,
fecha_ingreso DATE
);
Paso 2: Insertar registros
INSERT INTO empleados (
id,
nombre,
departamento,
salario,
activo,
fecha_ingreso
)
VALUES
(
1,
'Juan Pérez',
'Tecnología',
25000.00,
TRUE,
'2026-01-15'
),
(
2,
'Ana López',
'Finanzas',
32000.00,
TRUE,
'2026-02-01'
),
(
3,
'Carlos García',
'Recursos Humanos',
28000.00,
FALSE,
'2026-03-10'
);
``
Paso 3: Consultar la información inicial
SELECT *
FROM empleados;
Resultado:
id | nombre | departamento | salario | activo
----+-----------------+--------------------+----------+--------
1 | Juan Pérez | Tecnología | 25000.00 | true
2 | Ana López | Finanzas | 32000.00 | true
3 | Carlos García | Recursos Humanos | 28000.00 | false
✏️ Actualizar una columna
Supongamos que Juan recibió un aumento salarial.
UPDATE empleados
SET salario = 27000.00
WHERE id = 1;
Verificar el cambio
SELECT *
FROM empleados
WHERE id = 1;
Resultado:
id | nombre | departamento | salario | activo
----+-------------+--------------+----------+--------
1 | Juan Pérez | Tecnología | 27000.00 | true
``
✏️ Actualizar varias columnas
También podemos modificar varias columnas en una sola sentencia.
Supongamos que Carlos volvió a trabajar en la empresa y fue transferido al departamento de Tecnología.
UPDATE empleados
SET activo = TRUE,
departamento = 'Tecnología'
WHERE id = 3;
Consultar el registro actualizado
SELECT *
FROM empleados
WHERE id = 3;
Resultado:
id | nombre | departamento | salario | activo
----+-----------------+--------------+----------+--------
3 | Carlos García | Tecnología | 28000.00 | true
🔍 Consultar registros usando WHERE
La cláusula WHERE permite recuperar únicamente los registros que cumplen una condición.
Por ejemplo, consultar un empleado específico:
SELECT *
FROM empleados
WHERE id = 2;
Consultar empleados del área de Tecnología:
SELECT *
FROM empleados
WHERE departamento = 'Tecnología';
Resultado:
id | nombre | departamento
----+-----------------+--------------
1 | Juan Pérez | Tecnología
3 | Carlos García | Tecnología
Consultar empleados activos:
SELECT *
FROM empleados
WHERE activo = TRUE;
🧪 Actualización de múltiples registros
También podemos actualizar varios registros simultáneamente.
Por ejemplo, aumentar el salario de todos los empleados de Tecnología.
UPDATE empleados
SET salario = 30000.00
WHERE departamento = 'Tecnología';
Consultar los registros actualizados:
SELECT *
FROM empleados
WHERE departamento = 'Tecnología';
Resultado:
id | nombre | departamento | salario
----+-----------------+--------------+----------
1 | Juan Pérez | Tecnología | 30000.00
3 | Carlos García | Tecnología | 30000.00
🎯 Actualizar valores de tipo fecha
También es posible actualizar fechas.
UPDATE empleados
SET fecha_ingreso = '2026-05-01'
WHERE id = 2;
Consultar:
SELECT *
FROM empleados
WHERE id = 2;
💡 Buenas prácticas
Revisa primero con SELECT
Antes de ejecutar un UPDATE, verifica los registros afectados.
Por ejemplo:
SELECT *
FROM empleados
WHERE departamento = 'Tecnología';
Después:
UPDATE empleados
SET salario = 30000.00
WHERE departamento = 'Tecnología';
Utiliza siempre WHERE cuando sea posible
✅ Correcto
UPDATE empleados
SET salario = 35000.00
WHERE id = 1;
⚠️ Cuidado
UPDATE empleados
SET salario = 35000.00;
Este último modificará toda la tabla.
Verifica el resultado después del UPDATE
Una práctica común es ejecutar inmediatamente un SELECT.
SELECT *
FROM empleados
WHERE id = 1;
De esta forma puedes confirmar que el cambio se realizó correctamente.
✅ Conclusión
La instrucción UPDATE permite modificar información existente en una tabla. Es una de las operaciones fundamentales de SQL y se utiliza constantemente en aplicaciones reales.
Los conceptos más importantes son:
UPDATE modifica registros existentes.
SET indica los nuevos valores.
WHERE define qué registros se actualizarán.
Es posible actualizar una o varias columnas a la vez.
Siempre es recomendable validar los registros afectados con un SELECT antes y después de la actualización.
No hay comentarios:
Publicar un comentario