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
