Antes de comenzar, vamos a crear una base de datos y una tabla que utilizaremos en los ejemplos. Ejecuta los siguientes comandos en tu terminal de MySQL:
Creación de la base de datos y tabla:
Crear la base de datos
CREATE DATABASE banco;
Usar la base de datos
USE banco;
Crear la tabla cuentas
CREATE TABLE cuentas (
id INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(100),
saldo DECIMAL(10,2)
);
Estos comandos crean una base de datos llamada ‘banco’ y una tabla ‘cuentas’ para almacenar información de cuentas bancarias.
El DQL se utiliza para consultar datos en la base de datos. El comando principal es SELECT.
DQL (Lenguaje de Consulta de Datos):Se utiliza para realizar consultas a la base de datos y recuperar información.
Consultar todos los registros de la tabla 'cuentas' SELECT * FROM cuentas; Consultar cuentas con saldo mayor a 1000 SELECT nombre, saldo FROM cuentas WHERE saldo > 1000;
Estos comandos permiten visualizar los datos almacenados en la tabla ‘cuentas’.
El DML permite manipular los datos existentes en las tablas, como insertar, actualizar o eliminar registros.
DML (Lenguaje de Manipulación de Datos):Se utiliza para insertar, modificar y eliminar datos en las tablas.
Insertar registros en la tabla 'cuentas'
INSERT INTO cuentas (nombre, saldo) VALUES ('Juan Pérez', 1500.00);
INSERT INTO cuentas (nombre, saldo) VALUES ('María López', 2500.50);
Actualizar el saldo de una cuenta
UPDATE cuentas SET saldo = saldo + 500 WHERE nombre = 'Juan Pérez';
Eliminar una cuenta
DELETE FROM cuentas WHERE nombre = 'María López';
Estos comandos permiten gestionar los datos dentro de la tabla ‘cuentas’.
Píldora ·
|
![]() |
El DDL se utiliza para definir y modificar la estructura de las bases de datos y tablas.
DDL (Lenguaje de Definición de Datos):Se utiliza para crear, modificar y eliminar estructuras de datos.
Añadir una nueva columna 'tipo_cuenta' a la tabla 'cuentas' ALTER TABLE cuentas ADD COLUMN tipo_cuenta VARCHAR(50); Modificar el tipo de dato de la columna 'saldo' ALTER TABLE cuentas MODIFY COLUMN saldo DECIMAL(12,2); Eliminar la tabla 'cuentas' (¡Ten cuidado al usar este comando!) DROP TABLE cuentas;
Estos comandos permiten cambiar la estructura de la tabla ‘cuentas’.
El DCL se utiliza para controlar el acceso a los datos mediante permisos y roles.
DCL (Lenguaje de Control de Datos):Se utiliza para gestionar los permisos de usuarios en la base de datos.
Crear un nuevo usuario 'usuario1' con contraseña 'contrasena123' CREATE USER 'usuario1'@'localhost' IDENTIFIED BY 'contrasena123'; Otorgar permiso SELECT al usuario 'usuario1' en la tabla 'cuentas' GRANT SELECT ON banco.cuentas TO 'usuario1'@'localhost'; Revocar el permiso SELECT al usuario 'usuario1' REVOKE SELECT ON banco.cuentas FROM 'usuario1'@'localhost'; Eliminar el usuario 'usuario1' DROP USER 'usuario1'@'localhost';
Estos comandos permiten administrar los permisos y usuarios en la base de datos ‘banco’.
Práctica: Acceder a la base de datos como ‘usuario1’Para verificar que los permisos otorgados a ‘usuario1’ funcionan, sigue estos pasos:
1. Abre tu terminal o consola MySQL.
2. Conéctate como 'usuario1'== mysql -u usuario1 -p
3. Introduce la contraseña ('contraseña123').
4. Selecciona la base de datos:
USE banco;
5. Realiza una consulta:
SELECT * FROM cuentas;
Si ‘usuario1’ tiene permisos de SELECT, podrás ver los registros de la tabla. Si no, aparecerá un mensaje de error.
¿Saber más sobre DCL? Usuarios y privilegios (GRANT/REVOKE) con ejemplos rápidos.
En muchas clasificaciones, DQL (Data Query Language) —básicamente SELECT y su familia— se considera un subconjunto de DML (porque es la “R” de CRUD: Read). En otros materiales docentes se separa solo para distinguir lectura (DQL) de modificación (DML).
Guía rápida:
DDL: CREATE, ALTER, DROP
DML (escritura): INSERT, UPDATE, DELETE, MERGE
DQL (lectura): SELECT (+ WHERE, JOIN, GROUP BY, HAVING, ORDER BY…)
DCL: GRANT, REVOKE
TCL: COMMIT, ROLLBACK, SAVEPOINT
Puedes practicar estos comandos en tu instalación de MySQL siguiendo los ejemplos proporcionados. Simplemente copia y pega el código en tu línea de comandos de MySQL para experimentar con cada uno de los sublenguajes.