Tutorial de MySQL: Principales Comandos

Tabla de contenidos
- 1 1. Introducción a MySQL
- 2 2. Comandos Básicos de Gestión de Bases de Datos
- 3 3. Comandos para Manejo de Tablas
- 4 4. Operaciones CRUD (Create, Read, Update, Delete)
- 5 5. Claves Primarias, Foráneas e Índices
- 6 6. Funciones Agregadas y Agrupación
- 7 7. Uniones y Subconsultas
- 8 8. Creación de Usuarios y Permisos
- 9 9. Copia de Seguridad y Restauración
- 10 Conclusión
1. Introducción a MySQL
MySQL es un sistema de gestión de bases de datos relacional (RDBMS) basado en SQL (Structured Query Language). Se utiliza para almacenar y gestionar grandes volúmenes de datos de manera eficiente.
Para comenzar a usar MySQL, primero debes iniciar sesión en el servidor con:
mysql -u usuario -p
Después de ingresar tu contraseña, tendrás acceso al entorno de MySQL.
2. Comandos Básicos de Gestión de Bases de Datos
Crear una base de datos
CREATE DATABASE nombre_basedatos;
Mostrar bases de datos disponibles
SHOW DATABASES;
Seleccionar una base de datos para usarla
USE nombre_basedatos;
Eliminar una base de datos
DROP DATABASE nombre_basedatos;
3. Comandos para Manejo de Tablas
Crear una tabla
CREATE TABLE nombre_tabla (
id INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(50),
edad INT,
correo VARCHAR(100) UNIQUE
);
Mostrar las tablas de una base de datos
SHOW TABLES;
Ver la estructura de una tabla
DESCRIBE nombre_tabla;
o
SHOW COLUMNS FROM nombre_tabla;
Eliminar una tabla
DROP TABLE nombre_tabla;
Modificar una tabla (Agregar columna)
ALTER TABLE nombre_tabla ADD COLUMN direccion VARCHAR(255);
Modificar el tipo de dato de una columna
ALTER TABLE nombre_tabla MODIFY COLUMN edad TINYINT;
Eliminar una columna de una tabla
ALTER TABLE nombre_tabla DROP COLUMN direccion;
4. Operaciones CRUD (Create, Read, Update, Delete)
Insertar datos en una tabla
INSERT INTO nombre_tabla (nombre, edad, correo)
VALUES ('Juan', 25, 'juan@example.com');
Consultar datos de una tabla
SELECT * FROM nombre_tabla;
Consultar solo ciertos campos:
SELECT nombre, edad FROM nombre_tabla;
Filtrar resultados con WHERE
:
SELECT * FROM nombre_tabla WHERE edad > 20;
Ordenar resultados:
SELECT * FROM nombre_tabla ORDER BY edad DESC;
Limitar resultados:
SELECT * FROM nombre_tabla LIMIT 5;
Actualizar registros
UPDATE nombre_tabla
SET edad = 30
WHERE nombre = 'Juan';
Eliminar registros
DELETE FROM nombre_tabla WHERE nombre = 'Juan';
5. Claves Primarias, Foráneas e Índices
Definir una clave primaria
CREATE TABLE empleados (
id INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(50)
);
Definir una clave foránea
CREATE TABLE departamentos (
id INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(50),
id_empleado INT,
FOREIGN KEY (id_empleado) REFERENCES empleados(id)
);
Crear un índice para mejorar el rendimiento
CREATE INDEX idx_nombre ON nombre_tabla (nombre);
6. Funciones Agregadas y Agrupación
Contar registros
SELECT COUNT(*) FROM nombre_tabla;
Suma de valores
SELECT SUM(edad) FROM nombre_tabla;
Promedio de valores
SELECT AVG(edad) FROM nombre_tabla;
Valor máximo y mínimo
SELECT MAX(edad) FROM nombre_tabla;
SELECT MIN(edad) FROM nombre_tabla;
Agrupar registros
SELECT edad, COUNT(*) FROM nombre_tabla GROUP BY edad;
Filtrar después de agrupar (HAVING)
SELECT edad, COUNT(*)
FROM nombre_tabla
GROUP BY edad
HAVING COUNT(*) > 1;
7. Uniones y Subconsultas
Unir tablas con JOIN
SELECT empleados.nombre, departamentos.nombre
FROM empleados
JOIN departamentos ON empleados.id = departamentos.id_empleado;
Subconsulta
SELECT * FROM empleados
WHERE id IN (SELECT id_empleado FROM departamentos);
8. Creación de Usuarios y Permisos
Crear un nuevo usuario
CREATE USER 'nuevo_usuario'@'localhost' IDENTIFIED BY 'contraseña_segura';
Conceder permisos
GRANT ALL PRIVILEGES ON nombre_basedatos.* TO 'nuevo_usuario'@'localhost';
Revocar permisos
REVOKE ALL PRIVILEGES ON nombre_basedatos.* FROM 'nuevo_usuario'@'localhost';
Eliminar usuario
DROP USER 'nuevo_usuario'@'localhost';
9. Copia de Seguridad y Restauración
Exportar una base de datos
Desde la terminal:
mysqldump -u usuario -p nombre_basedatos > backup.sql
Importar una base de datos
mysql -u usuario -p nombre_basedatos < backup.sql
Conclusión
Este tutorial cubre los comandos más esenciales de MySQL. Con esta base, ya puedes manejar bases de datos, crear relaciones entre tablas, realizar consultas eficientes y administrar permisos.
Si quieres profundizar más, te recomiendo practicar con bases de datos reales y explorar conceptos como triggers, procedimientos almacenados y vistas.
🚀 ¡Sigue practicando y conviértete en un experto en MySQL! 🚀