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:

INSERT INTO nombre_tabla (columna1, columna2, columna3, ...)
VALUES (valor1, valor2, valor3, ...);

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

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

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

Módulo 10: Estudios de Caso y Aplicaciones del Mundo Real

© Copyright 2024. Todos los derechos reservados