En esta sección, aprenderemos cómo insertar datos en las tablas de una base de datos PostgreSQL. Este es un paso fundamental para cualquier operación de manipulación de datos y es esencial para construir aplicaciones dinámicas y robustas.
Contenido
Sintaxis Básica de INSERT
La instrucción INSERT
se utiliza para agregar nuevas filas a una tabla. La sintaxis básica es la siguiente:
Ejemplo
Supongamos que tenemos una tabla llamada clientes
con las siguientes columnas: id
, nombre
, email
, fecha_registro
.
CREATE TABLE clientes ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), email VARCHAR(100), fecha_registro DATE );
Para insertar un nuevo cliente en la tabla, usaríamos la siguiente instrucción:
INSERT INTO clientes (nombre, email, fecha_registro) VALUES ('Juan Pérez', '[email protected]', '2023-10-01');
Insertar Múltiples Filas
PostgreSQL permite insertar múltiples filas en una sola instrucción INSERT
. Esto puede ser más eficiente que ejecutar múltiples instrucciones INSERT
individuales.
Ejemplo
Para insertar varios clientes a la vez, podemos hacer lo siguiente:
INSERT INTO clientes (nombre, email, fecha_registro) VALUES ('Ana Gómez', '[email protected]', '2023-10-02'), ('Carlos López', '[email protected]', '2023-10-03'), ('María Fernández', '[email protected]', '2023-10-04');
Insertar Datos con SELECT
A veces, es necesario insertar datos en una tabla basándose en una consulta SELECT
de otra tabla. Esto se puede hacer utilizando la instrucción INSERT INTO ... SELECT
.
Ejemplo
Supongamos que tenemos otra tabla llamada nuevos_clientes
y queremos copiar todos los registros de esta tabla a la tabla clientes
.
CREATE TABLE nuevos_clientes ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), email VARCHAR(100), fecha_registro DATE ); INSERT INTO nuevos_clientes (nombre, email, fecha_registro) VALUES ('Laura Martínez', '[email protected]', '2023-10-05'), ('Pedro Sánchez', '[email protected]', '2023-10-06');
Para copiar estos registros a la tabla clientes
, usaríamos:
INSERT INTO clientes (nombre, email, fecha_registro) SELECT nombre, email, fecha_registro FROM nuevos_clientes;
Ejemplos Prácticos
Ejemplo 1: Insertar un solo registro
INSERT INTO clientes (nombre, email, fecha_registro) VALUES ('Luis Ramírez', '[email protected]', '2023-10-07');
Ejemplo 2: Insertar múltiples registros
INSERT INTO clientes (nombre, email, fecha_registro) VALUES ('Sofía Torres', '[email protected]', '2023-10-08'), ('Miguel Ángel', '[email protected]', '2023-10-09');
Ejemplo 3: Insertar datos desde otra tabla
INSERT INTO clientes (nombre, email, fecha_registro) SELECT nombre, email, fecha_registro FROM nuevos_clientes;
Ejercicios Prácticos
Ejercicio 1
Crea una tabla llamada productos
con las siguientes columnas: id
, nombre
, precio
, fecha_creacion
. Inserta tres productos en esta tabla.
CREATE TABLE productos ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), precio NUMERIC(10, 2), fecha_creacion DATE ); INSERT INTO productos (nombre, precio, fecha_creacion) VALUES ('Producto A', 10.50, '2023-10-01'), ('Producto B', 20.75, '2023-10-02'), ('Producto C', 15.00, '2023-10-03');
Ejercicio 2
Crea una tabla llamada ventas
con las siguientes columnas: id
, producto_id
, cantidad
, fecha_venta
. Inserta dos registros en esta tabla utilizando datos de la tabla productos
.
CREATE TABLE ventas ( id SERIAL PRIMARY KEY, producto_id INT REFERENCES productos(id), cantidad INT, fecha_venta DATE ); INSERT INTO ventas (producto_id, cantidad, fecha_venta) VALUES (1, 2, '2023-10-04'), (2, 1, '2023-10-05');
Ejercicio 3
Inserta todos los registros de la tabla productos
en una nueva tabla llamada productos_backup
.
CREATE TABLE productos_backup ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), precio NUMERIC(10, 2), fecha_creacion DATE ); INSERT INTO productos_backup (nombre, precio, fecha_creacion) SELECT nombre, precio, fecha_creacion FROM productos;
Conclusión
En esta sección, hemos aprendido cómo insertar datos en una tabla de PostgreSQL utilizando la instrucción INSERT
. Hemos cubierto la sintaxis básica, cómo insertar múltiples filas y cómo insertar datos basados en una consulta SELECT
. Además, hemos proporcionado ejemplos prácticos y ejercicios para reforzar los conceptos aprendidos.
En la próxima sección, exploraremos cómo consultar datos en PostgreSQL, lo que nos permitirá recuperar y analizar la información almacenada en nuestras tablas.
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