Saltar al contenido principal
Lenguaje SQL

DDL, DML, DCL y TCL: las cuatro familias de sentencias SQL

Las sentencias SQL se agrupan en cuatro familias según lo que hacen. Cuál es cuál y dónde se equivoca la gente.

En SQL, DDL (Data Definition Language) define la estructura de la base de datos, DML (Data Manipulation Language) consulta y modifica los datos, DCL (Data Control Language) gestiona los permisos y TCL (Transaction Control Language) controla las transacciones. Cada familia agrupa comandos como CREATE, SELECT, GRANT y COMMIT.

Última actualización: . Fuente: SERGAS / Xunta de Galicia / normativa oficial vigente.

Las cuatro familias en una tabla

FamiliaNombre completoPara qué sirveComandos típicos
DDLData Definition LanguageDefine la estructura de la base de datosCREATE, ALTER, DROP, TRUNCATE, CREATE INDEX
DMLData Manipulation LanguageConsulta y modifica los datosSELECT, INSERT, UPDATE, DELETE
DCLData Control LanguageControla los permisos de accesoGRANT, REVOKE
TCLTransaction Control LanguageGestiona las transaccionesBEGIN, COMMIT, ROLLBACK, SAVEPOINT

Regla mnemotécnica: DDL es estructura, DML son datos, DCL son derechos (permisos) y TCL son transacciones.

Un ejemplo de cada familia

FamiliaEjemploQué hace
DDLALTER TABLE Pacientes ADD COLUMN Email VARCHAR(200);Añade una columna a la tabla
DMLUPDATE Pacientes SET CodMedico = 99 WHERE NHC = 12345;Cambia el médico asignado a un paciente
DCLGRANT SELECT, INSERT ON Pacientes TO enfermera_user;Concede permisos de lectura e inserción
TCLCOMMIT;Confirma los cambios de la transacción en curso

Errores típicos de examen

Dónde cae SELECT. En el temario de TI, SELECT forma parte del DML. Si una pregunta ofrece DDL, DML, DCL y TCL como opciones, la respuesta correcta para una consulta es DML.

Cómo identificar la familia en una pregunta

Fíjate en el objeto sobre el que actúa la sentencia: la estructura, los datos, los permisos o la transacción. Ese objeto decide la familia, no el nombre del comando.

La transacción y las propiedades ACID

El TCL existe para que varias operaciones se traten como una unidad. Un ejemplo: insertar una cita y marcar la hora como ocupada en la agenda. Se abre la transacción con BEGIN TRANSACTION, se ejecutan ambas sentencias y se cierra con COMMIT. Si la segunda falla, ROLLBACK deja la base de datos como estaba. Esto es la atomicidad, una de las cuatro propiedades ACID (atomicidad, consistencia, aislamiento y durabilidad) que ofrecen las bases de datos relacionales. El resto de la teoría del tema (modelo entidad-relación, normalización, tipos de JOIN) está en el artículo sobre bases de datos relacionales y SQL.

Las fechas de las pruebas están en el calendario de la OPE SERGAS 2026.

❓ Preguntas frecuentes (FAQ)

¿Qué diferencia hay entre DDL y DML?

DDL cambia la estructura de la base de datos (crear, modificar o borrar tablas e índices) con comandos como CREATE, ALTER y DROP. DML trabaja con los datos que hay dentro de las tablas, con SELECT, INSERT, UPDATE y DELETE.

¿TRUNCATE es DDL o DML?

En el temario TRUNCATE se clasifica como DDL: vacía todos los datos de una tabla, pero se considera una operación sobre la estructura y no una sentencia de manipulación fila a fila como DELETE.

¿Qué comandos forman el DCL?

GRANT, que concede permisos a un usuario o rol, y REVOKE, que los retira. Por ejemplo, GRANT SELECT, INSERT ON Pacientes TO enfermera_user concede lectura e inserción sobre esa tabla.

¿Qué comandos forman el TCL?

COMMIT confirma los cambios de una transacción y los hace permanentes, ROLLBACK los deshace, SAVEPOINT marca un punto intermedio al que se puede volver con ROLLBACK TO, y BEGIN inicia la transacción.

¿Dónde se clasifica SELECT?

En el temario de TI, SELECT se incluye en el DML junto con INSERT, UPDATE y DELETE. Algunos manuales lo separan en una categoría propia de consulta, por lo que conviene fijarse en cómo lo plantea la pregunta.

📚 Sigue aprendiendo

🎯 ¿Preparas oposiciones del SERGAS?

Más de 13.000 preguntas tipo test con explicación, simulacros con penalización −0,25 y calculadora de baremo. 100% gratis.

Crear cuenta gratis →