Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/tutosrive/db-relacionales-2026-1/llms.txt

Use this file to discover all available pages before exploring further.

Las sentencias DML (Data Manipulation Language) son las herramientas del día a día en una base de datos relacional: permiten insertar nuevos registros, modificar los existentes y eliminar los que ya no se necesitan. La clave para usarlas de forma segura es la cláusula WHERE: sin ella, un UPDATE o un DELETE afectará todas las filas de la tabla sin distinción. En este taller practicarás cada operación DML sobre una tabla de enlaces, entenderás cómo funcionan las transacciones y aprenderás patrones seguros de modificación de datos en PostgreSQL.

Tabla de práctica: enlaces

Todos los ejercicios de este taller operan sobre la siguiente tabla. Créala en tu proyecto de Supabase antes de continuar:
CREATE TABLE enlaces (
  id INTEGER PRIMARY KEY,
  url VARCHAR(80) NOT NULL,
  notas VARCHAR(1024),
  cuenta INTEGER,
  creado TIMESTAMPTZ DEFAULT NOW()
);
La columna creado usa DEFAULT NOW(), lo que significa que si no se provee un valor al insertar, PostgreSQL registrará automáticamente la fecha y hora actuales con zona horaria.

Operaciones DML

Insertar filas

La sentencia INSERT INTO agrega una o más filas a una tabla. Existen tres patrones principales:Forma posicional (no recomendada): los valores se listan en el mismo orden que las columnas de la tabla. Es frágil porque si la estructura de la tabla cambia, el script puede fallar silenciosamente o insertar datos en columnas incorrectas.
-- Insertar una fila completa
INSERT INTO enlaces
VALUES (101, 'http://dev.fyicenter.com', NULL, 0, '2009-04-30');
Forma explícita (recomendada): se listan las columnas objetivo antes de los valores. Es más legible, resistente a cambios de esquema y permite omitir columnas con valores por defecto.
-- Forma recomendada: listar columnas explícitamente
INSERT INTO enlaces (id, url, notas, cuenta)
VALUES (102, 'http://dba.fyicenter.com', NULL, 0);
Inserción múltiple: puedes insertar varias filas en una sola instrucción separando cada conjunto de valores con comas. Es más eficiente que ejecutar un INSERT por cada fila.
-- Múltiples filas
INSERT INTO enlaces (id, url, notas, cuenta, creado)
VALUES
  (201, 'http://sitio-a.com', 'Primer sitio', 10, NOW()),
  (202, 'http://sitio-b.com', 'Segundo sitio', 20, NOW()),
  (203, 'http://sitio-c.com', NULL, 0, NOW());
Verifica los datos insertados:
SELECT * FROM enlaces ORDER BY id;
Usa INSERT INTO ... ON CONFLICT DO NOTHING o ON CONFLICT (...) DO UPDATE (también conocido como “upsert”) cuando quieras insertar sin error si la clave ya existe. Es útil en scripts de carga de datos repetibles.

Guía de referencia rápida

SentenciaPropósito¿Requiere WHERE?
INSERT INTOAgregar nuevas filasNo aplica
UPDATE ... SETModificar filas existentesRecomendado siempre
DELETE FROMEliminar filas específicasRecomendado siempre
TRUNCATE TABLEVaciar tabla completaNo aplica
BEGIN / COMMITIniciar / confirmar transacciónNo aplica
ROLLBACKRevertir transacción en cursoNo aplica

Build docs developers (and LLMs) love