🧠 SQL: Guía Visual y Didáctica de Comandos, Restricciones y Tipos de Datos
🔧 1. Comandos DDL (Data Definition Language)
Permiten crear, modificar y eliminar estructuras de la base de datos como tablas, índices, vistas y secuencias.
Principales Comandos:
| Comando | Descripción |
|---|
CREATE | Crea tablas, índices, vistas, secuencias, funciones, etc. |
ALTER | Modifica la estructura de una tabla existente. |
DROP | Elimina objetos de la base de datos como tablas o vistas. |
RENAME | Cambia el nombre de una tabla o columna. |
TRUNCATE | Borra todas las filas de una tabla de forma rápida, sin logs. |
💡 Características importantes:
- No permite ROLLBACK salvo excepciones como Oracle.
- Las vistas no ocupan espacio físico (son virtuales).
TRUNCATE es más rápido que DELETE pero no guarda logs.
Ejemplo:
CREATE TABLE sells (
sno INTEGER,
price DECIMAL(4,2),
nombre TEXT(25),
CONSTRAINT pk_sells PRIMARY KEY (sno, price),
CONSTRAINT fk_sales FOREIGN KEY (sno) REFERENCES supplier(sno)
);
🔐 2. Restricciones (CONSTRAINTS)
Permiten asegurar la integridad de los datos. Se definen en línea (en la columna) o fuera de línea (al final de la tabla).
Tipos de restricciones:
PRIMARY KEY: Identificador único no nulo.
FOREIGN KEY: Enlace con otra tabla (clave ajena).
UNIQUE: No permite valores repetidos.
NOT NULL: No permite valores nulos.
CHECK: Condición lógica personalizada.
DEFAULT: Valor por defecto.
Ejemplo:
id INT CONSTRAINT pk_id PRIMARY KEY,
precio DECIMAL(5,2) DEFAULT 0.00,
CONSTRAINT fk_category FOREIGN KEY (id_cat) REFERENCES categorias(id)
🧮 3. Tipos de Datos en SQL
| Tipo | Descripción |
|---|
INT, SMALLINT | Enteros con y sin signo. |
DECIMAL, FLOAT | Números con decimales. |
CHAR, VARCHAR | Cadenas de caracteres (fijas o variables). |
DATE, TIME, TIMESTAMP | Fechas y horas. |
TEXT, BINARY | Almacenamiento de textos o datos binarios. |
🔎 Notas clave:
VARCHAR(n): Cadena de longitud variable.
CHAR(n): Cadena de longitud fija.
- SQL es Case Sensitive para strings.
⚙️ 4. Clasificación de Lenguajes SQL
| Lenguaje | Acción principal | Ejemplos |
|---|
| DQL | Consultas de datos | SELECT |
| DDL | Definición de datos | CREATE, DROP |
| DML | Manipulación de datos | INSERT, UPDATE, DELETE |
| DCL | Control de acceso | GRANT, REVOKE |
| TCL | Control de transacciones | COMMIT, ROLLBACK |
| CCL | Control de cursores | DECLARE, FETCH, OPEN |
🧮 5. Operadores y Prioridades
Prioridad de operadores:
NOT
- Aritméticos:
*, /, +, -
- Comparadores:
=, <, >, <>, <=, >=
IS NOT NULL, BETWEEN, LIKE, IN
AND
OR
Orden de ejecución de una consulta:
FROM
ON
OUTER
WHERE
GROUP BY
CUBE, ROLLUP
HAVING
SELECT
DISTINCT
ORDER BY
TOP
📌 6. Estándares y evolución de SQL
| Estándar | Características |
|---|
| SQL-86 | Primera versión estándar |
| SQL-92 | Añade TRUNCATE, DROP, procedimientos básicos |
| SQL:1999 | Añade triggers, procedimientos, objetos, WITH RECURSIVE |
| SQL:2008 | Añade ORDER BY en cursores, INSTEAD OF, TRUNCATE |
| SQL:2011 | Tablas temporales, PERIOD FOR, mejoras en FETCH |
| SQL:2016 | Soporte JSON, patrones, funciones de tabla polimórficas |
Una respuesta a “Píldora TAI CXXII; Guía Completa de Comandos DDL en SQL”
[…] Píldora TAI CXXII; Guía Completa de Comandos DDL en SQL – Anacrolibrum […]