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