Una vez que tenemos una tabla creada, el siguiente paso es almacenar información en ella. Para ello utilizamos la instrucción INSERT.
En este capítulo aprenderemos:
Qué es INSERT
Cómo insertar un registro
Cómo insertar múltiples registros con una sola sentencia
Cómo insertar valores para los principales tipos de datos
🧠 ¿Qué hace la instrucción INSERT?
La instrucción INSERT permite agregar nuevas filas a una tabla.
Sintaxis general:
INSERT INTO nombre_tabla (
columna1,
columna2,
columna3
)
VALUES (
valor1,
valor2,
valor3
);
🏗️ Tabla de ejemplo
Para este tutorial utilizaremos una tabla que incluye varios de los tipos de datos más comunes en PostgreSQL.
CREATE TABLE empleados (
id INTEGER,
nombre VARCHAR(100),
salario NUMERIC(10,2),
activo BOOLEAN,
fecha_ingreso DATE,
ultima_actualizacion TIMESTAMP,
departamento TEXT
);
Descripción de las columnas:
id → Número entero
nombre → Texto corto
salario → Valor decimal
activo → Verdadero/Falso
fecha_ingreso → Fecha
ultima_actualizacion → Fecha y hora
departamento → Texto libre
📝 Insertar un registro
Para insertar un empleado:
INSERT INTO empleados (
id,
nombre,
salario,
activo,
fecha_ingreso,
ultima_actualizacion,
departamento
)
VALUES (
1,
'Juan Pérez',
25000.50,
TRUE,
'2026-01-15',
'2026-01-15 08:30:00',
'Tecnología'
);
Después del insert la tabla contendrá:
id | nombre | salario | activo | fecha_ingreso | departamento
---+-------------+----------+--------+---------------+-------------
1 | Juan Pérez | 25000.50 | TRUE | 2026-01-15 | Tecnología
🔍 Entendiendo los distintos valores
Texto
Los valores de tipo texto se escriben entre comillas simples.
'Juan Pérez'
'Tecnología'
'México'
Números enteros
No llevan comillas.
100
25
9999
Números decimales
Se utiliza el punto como separador decimal.
25000.50
100.00
19.99
✅ Correcto:
1234.56
❌ Incorrecto:
1234,56
Valores booleanos
PostgreSQL acepta:
TRUE
FALSE
Ejemplo:
activo = TRUE
Fechas
Formato recomendado:
'YYYY-MM-DD'
Ejemplo:
'2026-07-03'
Timestamp
Formato recomendado:
'YYYY-MM-DD HH:MI:SS'
Ejemplo:
'2026-07-03 14:30:00'
✅ Insertar múltiples registros
Una de las características más útiles de PostgreSQL es que podemos insertar varias filas mediante un único INSERT.
Sintaxis:
INSERT INTO tabla (
columna1,
columna2,
columna3
)
VALUES
(valor1, valor2, valor3),
(valor1, valor2, valor3),
(valor1, valor2, valor3);
Ejemplo completo
INSERT INTO empleados (
id,
nombre,
salario,
activo,
fecha_ingreso,
ultima_actualizacion,
departamento
)
VALUES
(
1,
'Juan Pérez',
25000.50,
TRUE,
'2026-01-15',
'2026-01-15 08:30:00',
'Tecnología'
),
(
2,
'Ana López',
32000.00,
TRUE,
'2026-02-01',
'2026-02-01 09:15:00',
'Finanzas'
),
(
3,
'Carlos García',
28000.75,
FALSE,
'2026-03-10',
'2026-03-10 11:00:00',
'Recursos Humanos'
);
Con esta única sentencia se insertan tres registros.
🎯 ¿Es obligatorio indicar todas las columnas?
No.
Puedes especificar únicamente las columnas para las cuales deseas insertar valores.
Supongamos que tenemos esta tabla:
CREATE TABLE departamentos (
id INTEGER,
nombre VARCHAR(100),
ciudad VARCHAR(100)
);
Podemos insertar únicamente dos columnas:
INSERT INTO departamentos (
id,
nombre
)
VALUES (
1,
'Tecnología'
);
La columna ciudad quedará con valor NULL.
⚠️ Mantén el orden correcto
Los valores deben coincidir exactamente con el orden de las columnas indicadas en el INSERT.
✅ Correcto:
INSERT INTO empleados (
id,
nombre
)
VALUES (
1,
'Juan Pérez'
);
❌ Incorrecto:
INSERT INTO empleados (
id,
nombre
)
VALUES (
'Juan Pérez',
1
);
📋 Insertar información de distintos tipos de datos
Veamos otro ejemplo más completo.
CREATE TABLE productos (
codigo INTEGER,
nombre VARCHAR(100),
precio NUMERIC(10,2),
disponible BOOLEAN,
fecha_alta DATE,
fecha_modificacion TIMESTAMP,
categoria TEXT
);
Insertando varios productos:
INSERT INTO productos (
codigo,
nombre,
precio,
disponible,
fecha_alta,
fecha_modificacion,
categoria
)
VALUES
(
1001,
'Laptop',
18500.99,
TRUE,
'2026-06-01',
'2026-06-01 10:15:00',
'Computadoras'
),
(
1002,
'Monitor',
4200.50,
TRUE,
'2026-06-05',
'2026-06-05 11:30:00',
'Periféricos'
),
(
1003,
'Teclado',
750.00,
FALSE,
'2026-06-10',
'2026-06-10 09:20:00',
'Accesorios'
);
🔎 Verificar los datos insertados
Para consultar la información almacenada:
SELECT *
FROM empleados;
o
SELECT *
FROM productos;
💡 Buenas prácticas
Indica siempre las columnas
✅ Recomendado
INSERT INTO empleados (
id,
nombre,
salario
)
VALUES (
1,
'Juan Pérez',
25000
);
❌ Menos recomendable
INSERT INTO empleados
VALUES (
1,
'Juan Pérez',
25000,
TRUE,
'2026-01-15',
'2026-01-15 08:30:00',
'Tecnología'
);
Si la estructura de la tabla cambia, este último formato puede generar errores.
Utiliza inserciones múltiples cuando sea posible
Es más eficiente:
INSERT INTO tabla (...)
VALUES (...),
(...),
(...);
que ejecutar varios INSERT independientes.
✅ Conclusión
La instrucción INSERT es el mecanismo utilizado para agregar datos a las tablas de PostgreSQL. Puede utilizarse para insertar una sola fila o múltiples filas en una única operación.
Los puntos más importantes son:
Los textos se escriben entre comillas simples.
Los números no llevan comillas.
Las fechas suelen utilizar el formato YYYY-MM-DD.
Los timestamps utilizan YYYY-MM-DD HH:MI:SS.
Es recomendable indicar explícitamente las columnas.
Un solo INSERT puede agregar múltiples registros.
No hay comentarios:
Publicar un comentario