DevPath · Aprende a programar ESPTEN

Diseño, normalización y modificación de datos

Modificar datos: INSERT, UPDATE, DELETE y restricciones

El lenguaje de manipulación de datos (DML)

Mientras SELECT lee, estas tres sentencias modifican el contenido de las tablas.

INSERT — añadir filas

INSERT INTO clientes (id, nombre, email, activo)
VALUES (4, 'Sara Vega', 'sara@example.com', 1);

Indicas la tabla, las columnas y los valores. Las columnas con DEFAULT o que admiten NULL se pueden omitir.

UPDATE — cambiar filas existentes

UPDATE pedidos SET estado = 'pagado' WHERE id = 2;

⚠️ Sin WHERE, UPDATE modifica TODAS las filas. El WHERE decide qué filas se cambian.

DELETE — borrar filas

DELETE FROM pedidos WHERE estado = 'cancelado';

⚠️ Igual que UPDATE: sin WHERE, DELETE vacía toda la tabla.

Restricciones (constraints)

Las restricciones se declaran en el CREATE TABLE y hacen que la base de datos rechace datos inválidos, protegiendo la integridad:

Restricción Qué garantiza
NOT NULL la columna no puede quedar vacía
UNIQUE no se repite el valor (p. ej. un email)
CHECK (cond) el valor cumple una condición (total >= 0)
DEFAULT v valor por defecto si no se indica otro
FOREIGN KEY el valor debe existir en la tabla referenciada
CREATE TABLE pedidos (
  id INTEGER PRIMARY KEY,
  cliente_id INTEGER NOT NULL,
  total REAL NOT NULL CHECK (total >= 0),
  estado TEXT NOT NULL DEFAULT 'pendiente',
  FOREIGN KEY (cliente_id) REFERENCES clientes(id)
);

Diseñar con restricciones significa que muchos errores se vuelven imposibles: no se cuela un pedido con total negativo, ni dos clientes con el mismo email, ni un pedido huérfano sin cliente.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
← Normalización: 1NF, 2NF y 3NFVer el módulo →