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.

  • ???? ๏ธ DOF: Las operaciones CREATE, DROP, ALTER y TRUNCATE definen y modifican el esquema de tablas y bases de datos.
  • โœ๏ธ LMD: Las operaciones INSERTAR, ACTUALIZAR y ELIMINAR modifican las filas que contiene una tabla.
  • ๐Ÿ”‘ DCL: GRANT y REVOKE otorgan y revocan privilegios de acceso sobre objetos de la base de datos.
  • ๐Ÿ”„ TCL: COMMIT, ROLLBACK y SAVEPOINT controlan cรณmo se guardan o se deshacen las transacciones.
  • ๐Ÿ” DQL: SELECT recupera filas filtradas por la clรกusula WHERE.
  • ๐Ÿ—„๏ธ Idioma estรกndar: Todos los principales sistemas de gestiรณn de bases de datos relacionales (RDBMS), desde MySQL a Oracle y SQL Server, utiliza SQL.
  • โš ๏ธ Contraste clave: Tanto TRUNCATE como DELETE borran filas, pero TRUNCATE es una instrucciรณn DDL y no se realiza fila por fila.

Comandos SQL DQL DDL DML DCL TCL

ยฟ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)
Tipos de comandos SQL
Tipos de SQL

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.

Preguntas Frecuentes

DELETE es un comando DML que elimina las filas seleccionadas y se puede revertir. TRUNCATE es un comando DDL que elimina todas las filas a la vez, es mรกs rรกpido y, por lo general, no se puede revertir.

Pertenecen al lenguaje de control de datos, o DCL. GRANT otorga privilegios a un usuario sobre un objeto de base de datos, y REVOKE revoca esos privilegios, lo que en conjunto controla el acceso y la seguridad.

Sรญ. Los modelos de conversiรณn de texto a SQL transforman una solicitud en lenguaje natural en una sentencia SELECT u otra instrucciรณn que se ejecuta sobre un esquema conocido. Siempre revise la consulta generada antes de ejecutarla con datos de producciรณn.

Sรญ. Al analizar el plan de ejecuciรณn, la IA puede sugerir un รญndice, una uniรณn reescrita o un cambio en la clรกusula WHERE que reduzca el costo. La sugerencia debe probarse, ya que el plan mรกs rรกpido depende de los datos.

DDL define o modifica la estructura de la base de datos, como tablas y columnas. DML modifica los datos contenidos en esa estructura mediante las operaciones INSERT, UPDATE y DELETE. La diferencia clave radica en la distinciรณn entre estructura y contenido.

Resumir este post con: