Cómo importar archivos SQL con MySQL
Clase 14 de 24 • Curso de SQL y MySQL 2018
Contenido del curso
CREATE
INSERT
Bash y archivos SQL
SELECT
Consultas en MySQL
Contenido Bonus
Aprende a cargar de forma segura y eficiente grandes volúmenes en MySQL usando la terminal. Separar schema y datos, aprovechar la redirección con < y usar -D para elegir la base correcta te ahorra tiempo y errores. Aquí verás el flujo real: preparar archivos, importar desde shell y validar con consultas de verificación.
¿Cómo preparar el schema y los datos en archivos .sql?
Organiza el trabajo en dos archivos: uno para el schema y otro para los datos. Así puedes reconstruir y poblar la base con control total.
¿Qué contiene all_schema y por qué el drop requiere cuidado?
El archivo de schema incluye: borrar la base existente, crearla, usarla y crear tablas como autores, libros, clientes y transacciones. Hay una advertencia clave: borrar sin preguntar. Usa comentarios con -- si quieres desactivar la línea peligrosa.
- Instrucciones típicas: crear y usar la base, luego crear tablas.
- Comentarios con
--para documentar y desactivar líneas peligrosas. - Precaución extrema con borrar la base existente.
Ejemplo de ejecución desde shell con redirección:
mysql -u root -p < all_schema.sql
¿Qué incluye all_data y cuántos registros carga?
El archivo de datos trae los INSERT para autores, libros, clientes y transacciones. Se mencionan cifras útiles para validar:
- Clientes: 100 registros aleatorios.
- Autores: 132 al finalizar la importación.
- Libros: 197 al finalizar la importación.
¿Cómo importar archivos a MySQL desde la terminal con redirección?
La importación se hace enviando el archivo al standard input de MySQL usando el operador <. Esto pertenece a la línea de comandos de Unix, no a MySQL.
¿Qué comando usar con -u, -p y el operador <?
Primero, importa el schema. La contraseña se solicita después de -p y no es recomendable escribirla en la misma línea.
# importar el schema
mysql -u root -p < all_schema.sql
-u: usuario, aquí root para simplificar la demostración.-p: solicitar contraseña de forma segura.<: redirige el contenido del archivo al proceso de MySQL.
¿Para qué sirve -D cuando el script no hace USE?
Si el archivo de datos comienza con INSERT y no especifica USE, MySQL no sabe qué base usar. Solución: indicar la base con -D.
# importar los datos cuando el archivo no incluye USE
mysql -u root -p -D <base_de_datos> < all_data.sql
-D: define la base activa para ejecutar losINSERT.- Error esperado si la base no existe: "Unknown database".
¿Por qué el operador < es de la línea de comandos de Unix?
Porque < toma un archivo de texto y lo envía al standard input del proceso. MySQL solo recibe el flujo y lo ejecuta. Esta técnica es simple y muy poderosa para cargas grandes.
- Ventaja: ejecutar scripts completos sin copiar y pegar.
- Requisito: archivos bien formados y con sintaxis correcta.
¿Qué verificar tras la carga y por qué el select es el rey?
Después de importar, confirma que la base existe, que las tablas están creadas y que los datos llegaron. Luego empieza el análisis con SELECT.
¿Qué consultas confirman la carga: show y select?
Secuencia de verificación dentro de MySQL:
SHOW DATABASES;
USE <base_de_datos>;
SHOW TABLES;
SELECT * FROM authors;
SELECT * FROM books;
- Confirmación útil: autores 132 registros. libros 197 registros.
- También puedes revisar clientes y transacciones.
¿Qué sigue: potenciar select?
El SELECT permite más que "traer todo". Tiene suficientes detalles y herramientas para ser el protagonista del análisis. Se anunció que será el foco inmediato: combinaciones, filtros y más, paso a paso.
- Validar y explorar con
SELECT *como primer diagnóstico. - Prepararse para consultas más potentes en la siguiente parte.
Si te interesa, comenta cómo organizas tus archivos .sql y qué estrategia usas para validar cargas masivas desde la terminal.