Comandos SQL: DDL, DML, DCL, TCL y DQL – Guía Completa

Comandos SQL: DDL, DML, DCL, TCL y DQL – Guía Completa

El lenguaje SQL (Structured Query Language) es la piedra angular de la interacción con bases de datos relacionales. Con comandos SQL, podemos crear, modificar, eliminar y consultar datos, así como controlar permisos de acceso y gestionar transacciones. En este artículo, exploraremos los cinco tipos principales de comandos SQL y sus funciones clave:

DDL (Data Definition Language): Definición de la Estructura de la Base de Datos

El DDL se encarga de definir la estructura de la base de datos. Permite crear, modificar y eliminar objetos como tablas, vistas, índices y restricciones. Algunos de los comandos SQL más comunes dentro del DDL son:

  • CREATE: Se utiliza para crear nuevos objetos en la base de datos. Por ejemplo, CREATE TABLE crea una nueva tabla, CREATE INDEX crea un nuevo índice y CREATE VIEW crea una nueva vista.
  • ALTER: Se utiliza para modificar la estructura de los objetos ya existentes. ALTER TABLE permite añadir, eliminar o modificar columnas, cambiar el tipo de datos de una columna, etc.
  • DROP: Se utiliza para eliminar objetos de la base de datos. DROP TABLE elimina una tabla, DROP INDEX elimina un índice y DROP VIEW elimina una vista.
  • TRUNCATE: Se utiliza para eliminar todos los datos de una tabla, pero no la propia tabla. Es más eficiente que DELETE para borrar todos los datos.

Ejemplo:

«`sql
— Crear una tabla llamada ‘usuarios’
CREATE TABLE usuarios (
id INT PRIMARY KEY,
nombre VARCHAR(255),
email VARCHAR(255)
);

— Modificar la tabla ‘usuarios’ para añadir una nueva columna ‘edad’
ALTER TABLE usuarios
ADD edad INT;

LEER:  Sistemas de gestión de bases de datos: Todo lo que necesitas saber

— Eliminar la tabla ‘usuarios’
DROP TABLE usuarios;
«`

DML (Data Manipulation Language): Manipulación de Datos

El DML se encarga de modificar los datos almacenados dentro de las tablas. Se utiliza para insertar, actualizar y eliminar filas. Los comandos SQL del DML incluyen:

  • INSERT: Se utiliza para insertar nuevas filas en una tabla.
  • UPDATE: Se utiliza para modificar los datos existentes en una tabla.
  • DELETE: Se utiliza para eliminar filas de una tabla.

Ejemplo:

«`sql
— Insertar un nuevo usuario en la tabla ‘usuarios’
INSERT INTO usuarios (id, nombre, email, edad)
VALUES (1, ‘Juan Pérez’, ‘juan.perez@email.com’, 30);

— Actualizar el email del usuario con ID 1
UPDATE usuarios
SET email = ‘juan.perez@example.com’
WHERE id = 1;

— Eliminar el usuario con ID 2
DELETE FROM usuarios
WHERE id = 2;
«`

DCL (Data Control Language): Control de Acceso a la Base de Datos

El DCL se utiliza para controlar el acceso a la base de datos, permitiendo o denegando permisos a los usuarios. Los comandos SQL del DCL son:

  • GRANT: Se utiliza para conceder permisos a los usuarios. Permite otorgar permisos para realizar determinadas operaciones, como insertar datos, actualizar datos, etc.
  • REVOKE: Se utiliza para revocar los permisos otorgados a los usuarios.

Ejemplo:

«`sql
— Otorgar permisos de lectura y escritura a la tabla ‘usuarios’ al usuario ‘admin’
GRANT SELECT, INSERT, UPDATE, DELETE ON usuarios TO admin;

— Revocar el permiso de escritura a la tabla ‘usuarios’ al usuario ‘admin’
REVOKE INSERT, UPDATE, DELETE ON usuarios FROM admin;
«`

TCL (Transaction Control Language): Control de Transacciones

El TCL se utiliza para gestionar las transacciones dentro de la base de datos. Las transacciones permiten agrupar una serie de operaciones como si fueran una sola unidad de trabajo. Los comandos SQL del TCL son:

  • COMMIT: Se utiliza para guardar los cambios realizados en la base de datos.
  • ROLLBACK: Se utiliza para deshacer los cambios realizados en la base de datos.
  • SAVEPOINT: Se utiliza para crear un punto de control dentro de una transacción. Permite restaurar la base de datos a un estado específico en caso de error.
LEER:  Los Mejores Gestores de Paquetes Linux: Una Guía Completa

Ejemplo:

«`sql
— Iniciar una transacción
START TRANSACTION;

— Insertar un nuevo usuario
INSERT INTO usuarios (id, nombre, email) VALUES (3, ‘Ana García’, ‘ana.garcia@email.com’);

— Actualizar el email del usuario con ID 1
UPDATE usuarios SET email = ‘juan.perez@newmail.com’ WHERE id = 1;

— Guardar los cambios
COMMIT;

— Deshacer los cambios
ROLLBACK;
«`

DQL (Data Query Language): Consultas de Datos

El DQL es el único tipo de comando SQL que se utiliza para extraer datos de la base de datos. El único comando SQL del DQL es SELECT.

  • SELECT: Se utiliza para seleccionar datos específicos de las tablas. SELECT permite especificar las columnas que se desean seleccionar, las filas que se desean obtener y las condiciones de filtro que se aplican.

Ejemplo:

«`sql
— Seleccionar todos los usuarios de la tabla ‘usuarios’
SELECT * FROM usuarios;

— Seleccionar el nombre y el email de los usuarios con edad mayor de 25
SELECT nombre, email FROM usuarios WHERE edad > 25;
«`

Conclusión

Los cinco tipos de comandos SQL (DDL, DML, DCL, TCL y DQL) son esenciales para la gestión de bases de datos. Comprensión profunda de estos comandos permite crear y administrar bases de datos de forma eficiente y segura, realizando operaciones de creación, modificación, consulta y control de acceso a los datos. La flexibilidad de SQL lo convierte en un lenguaje indispensable en el desarrollo de aplicaciones que requieren interacción con datos.