viernes, 3 de julio de 2026

🐘 Insertar Datos en PostgreSQL

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