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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. 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.

  2. 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.

  3. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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