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