En esta sección, aprenderás cómo actualizar datos en una base de datos PostgreSQL utilizando la instrucción UPDATE
. Actualizar datos es una operación fundamental en cualquier sistema de gestión de bases de datos, ya que permite modificar registros existentes para reflejar cambios en la información.
Contenido
Sintaxis Básica de UPDATE
La instrucción UPDATE
se utiliza para modificar los datos existentes en una tabla. La sintaxis básica es la siguiente:
Ejemplo Práctico
Supongamos que tenemos una tabla llamada empleados
con las siguientes columnas: id
, nombre
, salario
.
-- Estructura de la tabla empleados CREATE TABLE empleados ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), salario NUMERIC ); -- Datos de ejemplo INSERT INTO empleados (nombre, salario) VALUES ('Juan Pérez', 50000), ('Ana Gómez', 60000), ('Luis Martínez', 55000);
Para actualizar el salario de 'Juan Pérez' a 55000, usaríamos la siguiente instrucción:
Actualización Condicional
Es importante usar la cláusula WHERE
para especificar qué registros deben ser actualizados. Si omites la cláusula WHERE
, todos los registros de la tabla serán actualizados.
Ejemplo Práctico
Actualizar el salario de todos los empleados cuyo salario actual sea menor a 60000:
Actualización de Múltiples Columnas
Puedes actualizar múltiples columnas en una sola instrucción UPDATE
separando cada asignación con una coma.
Ejemplo Práctico
Actualizar el nombre y el salario de un empleado específico:
Uso de Subconsultas en UPDATE
Las subconsultas pueden ser utilizadas en la cláusula SET
para calcular nuevos valores basados en otros datos de la base de datos.
Ejemplo Práctico
Supongamos que tenemos otra tabla llamada aumentos
que registra los aumentos de salario:
-- Estructura de la tabla aumentos CREATE TABLE aumentos ( empleado_id INT, aumento NUMERIC ); -- Datos de ejemplo INSERT INTO aumentos (empleado_id, aumento) VALUES (1, 5000), (2, 4000);
Para actualizar los salarios de los empleados basándonos en los aumentos registrados en la tabla aumentos
:
UPDATE empleados SET salario = salario + ( SELECT aumento FROM aumentos WHERE empleados.id = aumentos.empleado_id ) WHERE id IN (SELECT empleado_id FROM aumentos);
Ejercicios Prácticos
Ejercicio 1
Actualiza el nombre del empleado con id = 2
a 'Ana Gómez López'.
Ejercicio 2
Incrementa el salario de todos los empleados en un 10%.
Ejercicio 3
Usa una subconsulta para establecer el salario de todos los empleados al promedio de los salarios actuales.
Errores Comunes y Consejos
- Olvidar la cláusula
WHERE
: Esto actualizará todos los registros de la tabla, lo cual puede ser desastroso. - Errores de tipo de datos: Asegúrate de que los valores que estás asignando sean del tipo correcto.
- Subconsultas que devuelven múltiples filas: Asegúrate de que las subconsultas utilizadas en la cláusula
SET
devuelvan un solo valor.
Resumen
En esta sección, hemos cubierto cómo actualizar datos en PostgreSQL utilizando la instrucción UPDATE
. Aprendiste la sintaxis básica, cómo realizar actualizaciones condicionales, cómo actualizar múltiples columnas y cómo utilizar subconsultas en las actualizaciones. También realizaste ejercicios prácticos para reforzar estos conceptos.
En la siguiente sección, aprenderás sobre cómo eliminar datos de una base de datos PostgreSQL.
Curso de PostgreSQL
Módulo 1: Introducción a PostgreSQL
Módulo 2: Operaciones Básicas de SQL
- Creando Bases de Datos y Tablas
- Insertando Datos
- Consultando Datos
- Actualizando Datos
- Eliminando Datos
Módulo 3: Consultas Avanzadas de SQL
Módulo 4: Diseño de Bases de Datos y Normalización
Módulo 5: Características Avanzadas de PostgreSQL
Módulo 6: Ajuste de Rendimiento y Optimización
- Optimización de Consultas
- Estrategias de Indexación
- Análisis del Rendimiento de Consultas
- Vacuuming y Mantenimiento
Módulo 7: Seguridad y Gestión de Usuarios
Módulo 8: Trabajando con JSON y Características NoSQL
Módulo 9: Extensiones y Herramientas Avanzadas
- PostGIS para Datos Geoespaciales
- Búsqueda de Texto Completo
- Wrappers de Datos Externos
- PL/pgSQL y Otros Lenguajes Procedurales