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