Restricciones en SQL
Las restricciones son reglas del esquema que mantienen datos completos, únicos y relacionados.
Restricciones en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.
Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.
Esta lección sobre Restricciones en SQL forma parte del tutorial SQL de The Data Schools. Cada ejemplo está pensado para ejecutarse en el editor con las tablas de demostración Clientes, Productos o Pedidos.
Lee la sintaxis, ejecuta el ejemplo tal cual y después modifica columnas, filtros o valores para comprobar que entiendes el comportamiento de la sentencia.
Consejo: escribe consultas pequeñas y verifica el resultado antes de combinar varias cláusulas. Así localizas errores de sintaxis más rápido.
Errores frecuentes: olvidar la indentación en bloques if, for o def; confundir = con ==; no importar un módulo antes de usarlo.
Tabla con varias restricciones
Combina clave primaria, UNIQUE, NOT NULL y CHECK en una sola definición.
Tabla con varias restricciones
CREATE TABLE Demo_Restricciones (
ID INT PRIMARY KEY,
Email VARCHAR(100) UNIQUE NOT NULL,
Edad INT CHECK (Edad >= 18)
);
INSERT INTO Demo_Restricciones VALUES (1, 'demo@mail.com', 25);
SELECT ID, Email, Edad FROM Demo_Restricciones;
DROP TABLE Demo_Restricciones;
Resultado:
| ID | Edad | |
|---|---|---|
| 1 | demo@mail.com | 25 |
FOREIGN KEY de ejemplo
Relaciona una tabla temporal con Clientes mediante clave foránea.
FOREIGN KEY de ejemplo
CREATE TABLE Demo_FK (
ID_Pedido INT PRIMARY KEY,
ID_Cliente INT NOT NULL,
FOREIGN KEY (ID_Cliente) REFERENCES Clientes(ID_Cliente)
);
INSERT INTO Demo_FK VALUES (9001, 1);
SELECT d.ID_Pedido, c.Nombre_Cliente
FROM Demo_FK d JOIN Clientes c ON d.ID_Cliente = c.ID_Cliente;
DROP TABLE Demo_FK;
Resultado:
| ID_Pedido | Nombre_Cliente |
|---|---|
| 9001 | Ana García |
Resumen
- Las restricciones protegen la calidad de los datos en el esquema.
- Cada tipo tiene su lección dedicada:
NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEYyCHECK. - En el editor puedes crear tablas temporales con varias reglas y comprobar el resultado.
Cómo practicar en el editor
1. Pulsa Pruébalo tú mismo en un ejemplo.
2. Cambia un filtro, columna o literal.
3. Ejecuta y compara el resultado con la tabla de ejemplo.
Comprueba lo aprendido
Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.