Aprende Inteligencia Artificial y Acelera tu Futuro

Descubre cómo la IA puede multiplicar tu productividad y cambiar tu forma de trabajar.

Acceder al Curso Ahora

Cómo Instalar las Bases de Datos Sakila y World en MariaDB con Docker (Guía Completa para Practicar SQL)

Si estás aprendiendo SQL, una de las mejores formas de practicar es utilizando bases de datos reales con muchas tablas y relaciones. Dos de las bases de datos de ejemplo más utilizadas en el mundo son Sakila y World, creadas por MySQL para aprendizaje y pruebas.

En esta guía aprenderás cómo descargar, descomprimir e instalar las bases de datos Sakila y World en MariaDB dentro de Docker, paso a paso.

Al finalizar tendrás dos bases de datos listas para practicar:

  • consultas SELECT
  • JOIN entre tablas
  • GROUP BY
  • subconsultas
  • análisis de datos reales

Si este tutorial te ayuda, recuerda suscribirte al canal y darle like al vídeo para más contenido sobre SQL, Docker y desarrollo backend.

Requisitos previos

Antes de empezar, asegúrate de tener preparado tu entorno.

Necesitas:

  • Debian 13 o Linux similar
  • Docker instalado
  • Docker Compose instalado
  • El entorno Docker con MariaDB ya creado
  • Acceso a una terminal

Verifica que el contenedor de MariaDB está corriendo:

docker ps | grep mariadb

Deberías ver algo como:

mariadb   mariadb:latest   Up

Si no aparece, inicia los contenedores:

cd docker-env
docker-compose up -d

Espera unos segundos a que MariaDB termine de iniciar.

Paso 1: Crear una carpeta para las bases de datos

Vamos a crear una carpeta donde descargaremos los archivos SQL.

mkdir -p /tmp/databases

Ahora entra en esa carpeta:

cd /tmp/databases

Aquí trabajaremos con las descargas.

Paso 2: Descargar las bases de datos oficiales

Vamos a descargar las bases de datos desde el sitio oficial de MySQL.

Descargar Sakila

wget https://downloads.mysql.com/docs/sakila-db.tar.gz

Descargar World

wget https://downloads.mysql.com/docs/world-db.tar.gz

Verifica que se descargaron correctamente:

ls

Deberías ver:

sakila-db.tar.gz
world-db.tar.gz

Paso 3: Descomprimir los archivos

Los archivos están comprimidos en formato tar.gz, así que debemos descomprimirlos.

Descomprimir Sakila

tar -xzf sakila-db.tar.gz

Se creará una carpeta:

sakila-db

Dentro encontrarás:

sakila-schema.sql
sakila-data.sql
sakila.mwb

Descomprimir World

tar -xzf world-db.tar.gz

Se creará una carpeta:

world-db

Dentro verás:

world.sql

Puedes verificar todo con:

ls -la sakila-db
ls -la world-db

Paso 4: Copiar los archivos SQL al contenedor Docker

Ahora debemos copiar los scripts SQL al contenedor MariaDB.

Ejecuta:

docker cp sakila-db/sakila-schema.sql mariadb:/tmp/
docker cp sakila-db/sakila-data.sql mariadb:/tmp/
docker cp world-db/world.sql mariadb:/tmp/

Esto copiará los archivos dentro del contenedor en la carpeta /tmp.

Paso 5: Conectarse a MariaDB dentro del contenedor

Ahora vamos a conectarnos al servidor MariaDB.

docker exec -it mariadb mariadb -u root -proot

Si todo funciona verás:

MariaDB [(none)]>

Esto significa que ya estás dentro del servidor de base de datos.

Paso 6: Cargar la base de datos Sakila

Primero cargaremos la estructura de las tablas.

SOURCE /tmp/sakila-schema.sql;

MariaDB ejecutará todas las instrucciones para crear la base de datos y sus tablas.

Ahora carga los datos:

SOURCE /tmp/sakila-data.sql;

Este proceso insertará miles de registros en las tablas.

Puede tardar unos segundos.

Paso 7: Cargar la base de datos World

Ahora carga la base de datos World:

SOURCE /tmp/world.sql;

Este archivo crea las tablas e inserta los datos automáticamente.

Paso 8: Dar permisos al usuario alumno

Para que el usuario alumno pueda trabajar con estas bases de datos debemos darle permisos.

Ejecuta:

GRANT SELECT ON sakila.* TO 'alumno'@'%';
GRANT SELECT ON world.* TO 'alumno'@'%';
FLUSH PRIVILEGES;

Esto permitirá al usuario consultar los datos.

Si quieres que los alumnos puedan practicar también con INSERT, UPDATE o DELETE, usa:

GRANT ALL PRIVILEGES ON sakila.* TO 'alumno'@'%';
GRANT ALL PRIVILEGES ON world.* TO 'alumno'@'%';
FLUSH PRIVILEGES;

Paso 9: Verificar que las bases de datos se cargaron

Comprueba que todo se creó correctamente:

SHOW DATABASES;

Deberías ver algo parecido a:

information_schema
mysql
performance_schema
sakila
sys
tienda
world

Las bases importantes son:

  • sakila
  • world

Paso 10: Verificar las tablas

Revisar Sakila

USE sakila;
SHOW TABLES;

Verás tablas como:

actor
address
category
film
inventory
rental
staff
store

Revisar World

USE world;
SHOW TABLES;

Deberías ver:

city
country
countrylanguage

Paso 11: Salir de MariaDB

Para salir del cliente MariaDB escribe:

exit

O usa:

Ctrl + D

Paso 12: Probar acceso con el usuario alumno

Ahora probemos que el usuario alumno puede acceder.

Desde la terminal ejecuta:

docker exec -it mariadb mariadb -u alumno -palumno123

Dentro del cliente ejecuta:

SHOW DATABASES;

Deberías ver:

sakila
world

Si aparecen, todo funciona correctamente.

Primeras consultas SQL para practicar

Ahora puedes empezar a practicar SQL.

Ejemplo en Sakila:

USE sakila;

SELECT first_name, last_name
FROM actor
LIMIT 10;

Ejemplo en World:

USE world;

SELECT name, population
FROM country
WHERE continent = 'Europe'
LIMIT 10;

Estas bases de datos permiten practicar:

  • consultas SELECT
  • JOIN entre tablas
  • filtros con WHERE
  • agrupaciones con GROUP BY
  • funciones agregadas
  • subconsultas

Acceso con phpMyAdmin (Opcional)

Si tienes phpMyAdmin en tu entorno Docker, puedes acceder desde el navegador:

http://localhost:8081

Credenciales:

Usuario: alumno
Contraseña: alumno123

Problemas comunes

wget no está instalado

Instálalo con:

sudo apt update
sudo apt install wget -y

No existe el comando tar

Instala tar:

sudo apt install tar -y

El contenedor MariaDB no está corriendo

Verifica con:

docker ps

Si no aparece:

cd docker-env
docker-compose up -d

Error «Unknown database sakila»

Significa que el script no se ejecutó correctamente.

Vuelve a ejecutar:

SOURCE /tmp/sakila-schema.sql;
SOURCE /tmp/sakila-data.sql;

Próximos pasos

Ahora que tienes Sakila y World instaladas, puedes empezar a practicar SQL con ejercicios reales.

Algunas ideas para practicar:

  • listar actores y películas
  • encontrar los países más poblados
  • calcular promedios con GROUP BY
  • practicar JOIN entre múltiples tablas
  • escribir subconsultas complejas

Estas bases de datos son utilizadas en universidades y cursos de bases de datos de todo el mundo para aprender SQL de forma práctica.

Si esta guía te ha sido útil, recuerda suscribirte al canal y dejar tu like para más tutoriales sobre SQL, Docker y desarrollo backend.

Tutoriales Más Vistos

Posts Más Vistos