SQL (Structured Query Language) es un lenguaje estándar para la gestión y manipulación de bases de datos relacionales. Su objetivo es permitir que los usuarios interactúen con el sistema de gestión de bases de datos (SGBD) de forma clara y estructurada.
Dentro de SQL, se identifican tres categorías principales de instrucciones, cada una con un propósito específico: DDL, DML y DCL.
1. Lenguaje de Definición de Datos (DDL – Data Definition Language)
Objetivo: Definir, modificar o eliminar la estructura de la base de datos y sus objetos (tablas, índices, vistas, etc.).
Características:
- Se centra en la arquitectura de la base de datos, no en el contenido.
- Los cambios son permanentes una vez ejecutados.
- A menudo requieren permisos especiales para su uso.
Principales comandos:
CREATE: Crea nuevos objetos en la base de datos.
CREATE TABLE Estudiantes (
id INT PRIMARY KEY,
nombre VARCHAR(50),
edad INT
);
ALTER: Modifica la estructura de un objeto existente.
ALTER TABLE Estudiantes ADD correo VARCHAR(100);
DROP: Elimina un objeto de la base de datos.
DROP TABLE Estudiantes;
2. Lenguaje de Manipulación de Datos (DML – Data Manipulation Language)
Objetivo: Consultar, insertar, modificar o eliminar datos almacenados en las tablas.
Características:
- Opera sobre el contenido, no sobre la estructura.
- Los cambios pueden confirmarse (COMMIT) o revertirse (ROLLBACK) si el SGBD soporta transacciones.
Principales comandos:
SELECT: Consulta datos.
SELECT nombre, edad FROM Estudiantes WHERE edad > 18;
INSERT: Inserta nuevos registros.
INSERT INTO Estudiantes (id, nombre, edad) VALUES (1, 'María', 20);
UPDATE: Modifica registros existentes.
UPDATE Estudiantes SET edad = 21 WHERE id = 1;
DELETE: Elimina registros.
DELETE FROM Estudiantes WHERE id = 1;
3. Lenguaje de Control de Datos (DCL – Data Control Language)
Objetivo: Gestionar permisos y control de acceso a los objetos de la base de datos.
Características:
- Garantiza la seguridad y privacidad de la información.
- Determina quién puede ver o modificar datos y estructuras.
Principales comandos:
GRANT: Concede permisos a un usuario
GRANT SELECT, INSERT ON Estudiantes TO usuario1;
REVOKE: Revoca permisos previamente concedidos
REVOKE INSERT ON Estudiantes FROM usuario1;
4. Tabla Comparativa
Tipo de Lenguaje | Objetivo Principal | Ejemplos de Comandos |
---|---|---|
DDL | Definir la estructura | CREATE, ALTER, DROP |
DML | Manipular los datos | SELECT, INSERT, UPDATE, DELETE |
DCL | Controlar permisos | GRANT, REVOKE |
5. Conclusión
Comprender los tres tipos de lenguajes de SQL es esencial para trabajar de manera eficiente con bases de datos.
- DDL se enfoca en qué objetos existen.
- DML en qué datos contienen y cómo se manipulan.
- DCL en quién puede acceder o modificarlos.
El uso combinado y correcto de estas categorías permite diseñar, poblar y proteger una base de datos de forma profesional.