Comandos SQL: DQL, DDL, DML, DCL y TCL con ejemplos
โก Resumen inteligente
Los comandos SQL se agrupan en cinco sublenguajes que administran una base de datos relacional. DDL define la estructura, DML modifica los datos, DCL controla el acceso, TCL administra las transacciones y DQL recupera los datos, cada uno con su propio conjunto de instrucciones y sintaxis.

ยฟQuรฉ es SQL?
SQL es un lenguaje de base de datos diseรฑado para la recuperaciรณn y gestiรณn de datos en una base de datos relacional.
SQL es el lenguaje estรกndar para la gestiรณn de bases de datos. Todos los sistemas RDBMS como MySQL, Acceso MS, OracleSybase, PostgreSQL y SQL Server utilizan SQL como lenguaje de base de datos estรกndar. El lenguaje de programaciรณn SQL emplea diversos comandos para diferentes operaciones. Aprenderemos sobre los comandos DCL, TCL, DQL, DDL y DML en SQL con ejemplos.
ยฟPor quรฉ usar SQL?
Estas son algunas razones importantes para usar SQL:
- Ayuda a los usuarios a acceder a los datos en el sistema RDBMS.
- Te ayuda a describir los datos.
- Le permite definir los datos en una base de datos y manipular esos datos especรญficos.
- Mediante comandos SQL, puedes crear y eliminar bases de datos y tablas.
- SQL permite utilizar funciones en una base de datos, asรญ como crear vistas y procedimientos almacenados.
- Puede establecer permisos sobre tablas, procedimientos y vistas.
Breve historia de SQL
Aquรญ hay lugares emblemรกticos importantes de la historia de SQL:
- 1970 โ El Dr. Edgar F. โTedโ Codd describiรณ un modelo relacional para bases de datos.
- 1974 โ Apareciรณ el lenguaje de consulta estructurado, originalmente llamado SEQUEL en IBM.
- 1979 - Oracle lanzรณ la primera base de datos basada en SQL disponible comercialmente, basada en IBMPrototipo de investigaciรณn del Sistema R.
- 1986 โ ANSI publicรณ el primer estรกndar SQL, SQL-86.
- 1989 โ SQL-89 llegรณ como la primera revisiรณn del estรกndar.
- 1992 โ SQL-92 (SQL2) se convirtiรณ en la principal norma de referencia que aรบn utilizan la mayorรญa de las bases de datos en la actualidad.
- 1999 โ Se lanzรณ SQL:1999 (SQL3) con caracterรญsticas como disparadores, consultas recursivas y orientaciรณn a objetos.
- 2003 โ SQL:2003 aรฑadiรณ funciones de ventana, generadores de secuencias y caracterรญsticas relacionadas con XML.
- 2006 โ SQL:2006 aรฑadiรณ compatibilidad con el lenguaje de consulta XML (XQuery).
- 2008 โ SQL:2008 introdujo la instrucciรณn TRUNCATE y los disparadores INSTEAD OF.
- 2011 โ SQL:2011 mejorรณ la compatibilidad con bases de datos temporales.
- 2016 โ SQL:2016 agregรณ soporte para JSON y coincidencia de patrones de filas (MATCH_RECOGNIZE).
- 2019 โ SQL/MDA (Parte 15) aรฑadiรณ compatibilidad con matrices multidimensionales al estรกndar.
- 2023 โ SQL:2023 aรฑadiรณ un tipo de datos JSON nativo y consultas de grรกficos de propiedades (SQL/PGQ).
- 2024 โ GQL, el primer nuevo lenguaje de bases de datos ISO desde SQL, se publicรณ como estรกndar complementario para consultas de grafos.
- 2026 โ SQL:2023 sigue siendo el estรกndar actual, y la prรณxima revisiรณn estรก en desarrollo en ISO/IEC.
Tipos de comandos SQL
Aquรญ hay cinco tipos de comandos SQL ampliamente utilizados:
- Lenguaje de definiciรณn de datos (DDL)
- Lenguaje de manipulaciรณn de datos (DML)
- Lenguaje de control de datos (DCL)
- Lenguaje de control de transacciones (TCL)
- Lenguaje de consulta de datos (DQL)

La tabla que aparece a continuaciรณn resume las cinco categorรญas antes de que cada una se trate en detalle.
| Categorรญa | Propรณsito | Comandos principales |
|---|---|---|
| DDL | Definir la estructura | CREAR, ELIMINAR, MODIFICAR, TRUNCAR |
| DML | Modificar datos | INSERTAR, ACTUALIZAR, ELIMINAR |
| DCL | Control de acceso | CONCEDER, REVOCAR |
| TCL | Administrar transacciones | CONFIRMAR, REVERTIR, GUARDAR PUNTO |
| DQL | Recuperar datos | SELECT |
ยฟQuรฉ es DDL?
El lenguaje de definiciรณn de datos (DDL) ayuda a definir la estructura o el esquema de la base de datos. Aprendamos sobre los comandos DDL y su sintaxis. Los principales comandos DDL en SQL son CREATE, DROP, ALTER y TRUNCATE.
CREAR
La instrucciรณn CREATE se utiliza para definir la estructura o el esquema de la base de datos:
Sintaxis:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Por ejemplo:
Create database university; Create table students; Create view for_students;
DROP
El comando DROP elimina tablas y bases de datos del sistema de gestiรณn de bases de datos relacionales (RDBMS).
Sintaxis:
DROP TABLE ;
Por ejemplo:
Drop object_type object_name; Drop database university; Drop table student;
ALTER
El comando ALTER permite modificar la estructura de la base de datos.
Sintaxis: Para agregar una nueva columna a la tabla:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Para modificar una columna existente en la tabla:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Por ejemplo:
Alter table guru99 add subject varchar;
TRUNCAR
Este comando se utiliza para eliminar todas las filas de la tabla y liberar el espacio que contiene la tabla.
Sintaxis:
TRUNCATE TABLE table_name;
Ejemplo:
TRUNCATE table students;
ยฟQuรฉ es el lenguaje de manipulaciรณn de datos?
El lenguaje de manipulaciรณn de datos (DML) permite modificar la instancia de la base de datos insertando, modificando y eliminando sus datos. Es responsable de realizar todo tipo de modificaciones de datos en una base de datos. Los comandos DML importantes en SQL son:
- INSERT
- ACTUALIZAR
- BORRAR
INSERT
Esta instrucciรณn se utiliza para insertar datos en las filas de una tabla.
Sintaxis:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Por ejemplo:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
ACTUALIZAR
Este comando se utiliza para actualizar o modificar el valor de una columna de la tabla.
Sintaxis:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Por ejemplo:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
BORRAR
Este comando se utiliza para eliminar una o mรกs filas de una tabla.
Sintaxis:
DELETE FROM table_name [WHERE condition];
Por ejemplo:
DELETE FROM students WHERE FirstName = 'Jhon';
ยฟQuรฉ es DCL?
El DCL (Lenguaje de Control de Datos) incluye comandos como GRANT y REVOKE, รบtiles para otorgar derechos y permisos. Otros comandos controlan los parรกmetros del sistema de base de datos.
Grant
Este comando se utiliza para otorgar a un usuario privilegios de acceso a una base de datos.
Sintaxis:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Por ejemplo:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revbien
Este comando es รบtil para revocar los permisos del usuario.
Sintaxis:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Por ejemplo:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
ยฟQuรฉ es TCL?
El lenguaje de control de transacciones, o comandos TCL, se ocupa de las transacciones dentro de la base de datos. Trabajan directamente con los estados descritos en Gestiรณn de transacciones.
COMPROMรTASE
Este comando se utiliza para guardar todas las transacciones en la base de datos.
Sintaxis:
Commit;
Por ejemplo:
DELETE FROM Students WHERE RollNo =25; COMMIT;
Rollback
El comando Rollback permite deshacer las transacciones que aรบn no se han guardado en la base de datos.
Sintaxis:
ROLLBACK;
Ejemplo:
DELETE FROM Students WHERE RollNo =25;
PUNTO DE GUARDADO
Este comando te ayuda a establecer un punto de guardado dentro de una transacciรณn.
Sintaxis:
SAVEPOINT SAVEPOINT_NAME;
Ejemplo:
SAVEPOINT RollNo;
ยฟQuรฉ es DQL?
El lenguaje de consulta de datos (DQL) se utiliza para obtener datos de la base de datos. Utiliza un รบnico comando: SELECT.
SELECT
Este comando le ayuda a seleccionar los atributos en funciรณn de la condiciรณn descrita por la clรกusula WHERE.
Sintaxis:
SELECT expressions FROM TABLES WHERE conditions;
Por ejemplo:
SELECT FirstName FROM Student WHERE RollNo > 15;
ELIMINAR vs TRUNCAR vs ELIMINAR
Estos tres comandos eliminan datos, pero difieren en quรฉ eliminan y en si la acciรณn se puede revertir. Confundirlos es un error comรบn entre los principiantes.
| Aspecto | BORRAR | TRUNCAR | DROP |
|---|---|---|---|
| Categorรญa | DML | DDL | DDL |
| Elimina | Filas seleccionadas | Todas las filas | Toda la mesa |
| Dรณnde clรกusula | Permitido | No se permiten | No es aplicable |
| Rollback | Posibles | Usualmente no | Imposible |
| Estructura mantenida | Sรญ: | Sรญ: | No |
En resumen, utilice DELETE para eliminar filas especรญficas, TRUNCATE para vaciar una tabla rรกpidamente y DROP para descartar la tabla por completo.
