Curso gratuito
Curso de MySQL desde cero
Un recorrido completo por MySQL, desde entender qué es una base de datos relacional hasta optimizar consultas en tablas de millones de filas. Todos los ejemplos usan el mismo sistema de clínica, que vas construyendo lección a lección.
- 28 lecciones
- Gratuito y sin registro
- Ejemplos que puedes ejecutar
Temario del curso
Fundamentos y diseño
- 01
Introducción a MySQL: qué es y para qué sirve
Primera lección del curso de MySQL: qué es un sistema gestor de bases de datos, por qué MySQL es el más usado, sus características y qué vas a aprender en el curso.
- 02
MySQL como base de datos relacional: tablas y relaciones
Qué significa que MySQL sea una base de datos relacional: tablas, filas, columnas, claves primarias y foráneas, los tipos de relación y por qué se evita duplicar información.
- 03
Diagrama entidad-relación: qué es y cómo hacer uno paso a paso
Guía completa del diagrama entidad-relación: qué es, sus elementos, los tipos de relación uno a uno, uno a muchos y muchos a muchos, un ejemplo resuelto y cómo pasarlo a tablas de MySQL.
- 04
Normalización de bases de datos: las formas normales explicadas
Qué es la normalización de bases de datos y para qué sirve: primera, segunda y tercera forma normal explicadas con ejemplos, y cuándo conviene desnormalizar a propósito.
Instalación y seguridad
- 05
Herramientas e instalación de MySQL: Workbench, phpMyAdmin y consola
Cómo instalar MySQL y elegir herramienta: XAMPP o Laragon, MySQL Workbench, phpMyAdmin y la línea de comandos. Ventajas de cada una y cómo verificar que todo funciona.
- 06
Seguridad de una base de datos en MySQL: usuarios y permisos
Cómo proteger una base de datos MySQL: por qué no usar root, crear usuarios con permisos limitados, GRANT y REVOKE, contraseñas seguras y copias de seguridad.
- 07
Configurar contraseñas y permisos en phpMyAdmin
Cómo gestionar usuarios y permisos de MySQL desde phpMyAdmin: cambiar la contraseña de root, crear usuarios con privilegios limitados y resolver el error de acceso en XAMPP.
- 08
Configurar contraseñas y permisos en MySQL Workbench
Cómo administrar usuarios y privilegios de MySQL desde Workbench: crear cuentas, asignar permisos por esquema, cambiar contraseñas y revisar quién tiene acceso a qué.
Crear la estructura
- 09
Crear una base de datos en MySQL: CREATE DATABASE paso a paso
Cómo crear una base de datos en MySQL con CREATE DATABASE: nombres correctos, juego de caracteres utf8mb4, collation, seleccionar la base y eliminarla sin sustos.
- 10
Tipos de datos en MySQL: cuál elegir para cada columna
Los tipos de datos de MySQL explicados: enteros, decimales, texto, fechas y booleanos. Cuál usar en cada caso, por qué DECIMAL para dinero y errores comunes al elegir.
- 11
Crear tablas en MySQL: CREATE TABLE con ejemplos
Cómo crear tablas en MySQL con CREATE TABLE: columnas, restricciones, clave primaria, AUTO_INCREMENT, motor InnoDB, y cómo modificar o eliminar una tabla existente.
- 12
Claves primarias, foráneas y relaciones entre tablas en MySQL
Cómo crear relaciones en MySQL: claves primarias y foráneas, integridad referencial, ON DELETE y ON UPDATE, tablas intermedias y claves primarias compuestas.
Manipular datos
- 13
Insertar registros en MySQL: INSERT INTO con ejemplos
Cómo insertar datos en MySQL con INSERT INTO: inserción simple y múltiple, valores por defecto, INSERT IGNORE, ON DUPLICATE KEY UPDATE e INSERT desde SELECT.
- 14
Actualizar y eliminar registros en MySQL: UPDATE y DELETE
Cómo modificar y borrar datos en MySQL con UPDATE y DELETE: la importancia del WHERE, actualizar varias columnas, borrado lógico, TRUNCATE y el modo seguro de MySQL.
- 15
Consultas INSERT, UPDATE y DELETE en MySQL: caso práctico
Ejercicio completo con las tres sentencias de manipulación de datos en MySQL: transacciones, operaciones combinadas, actualización desde otra tabla y buenas prácticas.
Consultar
- 16
Consulta de datos con SELECT en MySQL: guía completa
Cómo consultar datos en MySQL con SELECT: seleccionar columnas, filtrar con WHERE, ordenar con ORDER BY, limitar con LIMIT, alias, DISTINCT y el orden de ejecución de una consulta.
- 17
Operadores relacionales en SQL: filtrar con precisión
Los operadores de SQL para filtrar datos: comparación, lógicos, BETWEEN, IN, LIKE con comodines, IS NULL, y el orden de precedencia al combinar condiciones.
- 18
Consultas JOIN en MySQL: unir tablas relacionadas
Cómo usar JOIN en MySQL: INNER JOIN, LEFT JOIN, RIGHT JOIN y CROSS JOIN explicados con ejemplos, unir varias tablas, tablas intermedias y errores frecuentes.
- 19
Cláusula GROUP BY en MySQL: agrupar y calcular totales
Cómo usar GROUP BY en MySQL: funciones de agregación COUNT, SUM, AVG, MAX y MIN, filtrar grupos con HAVING, la diferencia con WHERE y agrupar por varias columnas.
- 20
Subconsultas en MySQL: consultas dentro de consultas
Qué es una subconsulta en MySQL: en el WHERE con IN y EXISTS, en el SELECT, en el FROM, subconsultas correlacionadas y cuándo conviene reemplazarlas por un JOIN.
Optimización
- 21
Optimización y rendimiento en MySQL: por dónde empezar
Cómo mejorar el rendimiento de una base de datos MySQL: identificar consultas lentas, índices, evitar SELECT *, el problema N+1, y qué medir antes de optimizar.
- 22
Crear índices en MySQL: acelerar las consultas
Qué es un índice en MySQL, cómo crearlo con CREATE INDEX, tipos de índice, índices compuestos y la regla del extremo izquierdo, cuándo conviene y cuándo perjudica.
- 23
EXPLAIN en MySQL: analizar por qué una consulta va lenta
Cómo usar EXPLAIN en MySQL para analizar consultas: interpretar las columnas type, key, rows y Extra, detectar escaneos completos y comprobar si tus índices se están usando.
- 24
FULLTEXT en MySQL: búsqueda de texto completo
Cómo implementar búsqueda de texto en MySQL con índices FULLTEXT: MATCH AGAINST, modo natural y booleano, relevancia de resultados y cuándo conviene frente a LIKE.
Herramientas avanzadas
- 25
Vistas en MySQL: consultas guardadas como tablas
Qué es una vista en MySQL, cómo crearla con CREATE VIEW, para qué sirve, vistas actualizables, control de acceso por vista y sus limitaciones de rendimiento.
- 26
Procedimientos almacenados y funciones en MySQL
Qué son los procedimientos almacenados en MySQL, cómo crearlos con DELIMITER, parámetros IN OUT INOUT, variables y control de flujo, funciones, y cuándo conviene usarlos.
- 27
Triggers en MySQL: acciones automáticas en la base de datos
Qué es un trigger en MySQL, cómo crearlo, BEFORE y AFTER, las variables NEW y OLD, casos de uso como auditoría, y por qué conviene usarlos con moderación.
- 28
Copias de seguridad en MySQL: mysqldump y restauración
Cómo hacer y restaurar copias de seguridad en MySQL con mysqldump: respaldos completos y parciales, automatización con cron, la regla 3-2-1 y cómo probar la restauración.
Qué necesitas para empezar
El curso empieza de cero: no hacen falta conocimientos previos de bases de datos. Ayuda estar familiarizado con la lógica de programación, aunque no es imprescindible.
- Una computadora con Windows, Linux o macOS
- MySQL instalado, que vemos en la lección 5
- MySQL Workbench o phpMyAdmin
- Ganas de ejecutar cada consulta mientras lees