- 1 1. Introducción a la importación de archivos CSV en MySQL
- 2 2. Requisitos previos
- 3 3. Importación de CSV usando el comando LOAD DATA INFILE
- 4 4. Soluciones a problemas comunes
- 5 5. Ejemplo práctico: procedimiento de importación de CSV
- 6 6. Avanzado: Manejo de errores y prevención de datos duplicados
- 7 7. Conclusión
1. Introducción a la importación de archivos CSV en MySQL
Importar archivos CSV en MySQL es una forma potente de optimizar la gestión de datos y eliminar la necesidad de introducir información manualmente. Por ejemplo, cuando necesitas importar en bloque información recopilada de múltiples fuentes a una base de datos, o procesar automáticamente datos de sistemas externos, la importación de CSV resulta extremadamente útil.
Casos de uso comunes para la importación de CSV
- Procesamiento de grandes volúmenes de datos: En lugar de ingresar miles de registros manualmente, puedes procesarlos rápidamente mediante la importación de CSV.
- Migración de datos: Resulta conveniente al importar datos exportados desde otros sistemas a MySQL.
- Actualizaciones de datos regulares: Los sistemas que requieren actualizaciones periódicas pueden automatizar el proceso usando archivos CSV.
2. Requisitos previos
Antes de importar un archivo CSV a MySQL, es necesario configurar y preparar varios aspectos. Esto garantiza un proceso de importación fluido y sin errores.
2.1 Entorno requerido
- Instalación del servidor MySQL: Se asume que MySQL está correctamente instalado. Asegúrate de que MySQL se esté ejecutando adecuadamente en tu entorno, ya sea Windows, macOS o Linux.
- Verificar permisos necesarios: Para importar un CSV, el usuario de MySQL debe contar con los privilegios apropiados. En particular, se requiere permiso de ejecución para
LOAD DATA INFILE. Sin este privilegio, la importación puede ser denegada.
2.2 Formato de archivo CSV
- Delimitador: Los archivos CSV suelen estar separados por comas, pero en algunos casos pueden usarse tabulaciones o puntos y comas. Verifica con antelación cuál delimitador se está utilizando.
- Comprobar codificación: Si un CSV se guarda con una codificación de caracteres diferente (como UTF-8 o Shift-JIS), pueden producirse corrupciones de caracteres durante la importación. Verifica la codificación del archivo previamente y conviértela si es necesario.

3. Importación de CSV usando el comando LOAD DATA INFILE
La forma más común de importar un archivo CSV a MySQL es mediante el comando LOAD DATA INFILE. Este comando permite cargar fácilmente grandes cantidades de datos en una base de datos.
3.1 Sintaxis básica
A continuación se muestra la sintaxis básica utilizada para importar un CSV a MySQL.
LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
FIELDS TERMINATED BY: Especifica el delimitador de campos. Normalmente se usa una coma.LINES TERMINATED BY: Especifica el delimitador de líneas. Usualmente se emplea\n(salto de línea).
3.2 Ejecución de ejemplo
El siguiente ejemplo importa un archivo llamado user_data.csv a la tabla users.
LOAD DATA INFILE '/path/to/user_data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
IGNORE 1 LINES: Omite la primera fila (fila de encabezado) del CSV. Esta opción es útil cuando los nombres de columna están incluidos en la primera línea.
3.3 Notas importantes: ruta del archivo y permisos
Al especificar la ruta del archivo, éste debe encontrarse en un directorio accesible por el servidor MySQL. Si el servidor no puede acceder al archivo, utiliza LOAD DATA LOCAL INFILE para cargar los datos desde el cliente.
4. Soluciones a problemas comunes
A continuación se presentan soluciones a los problemas más habituales que aparecen durante la importación de archivos CSV.
4.1 Problemas con la ruta del archivo
Si la ruta del archivo no se especifica correctamente, puede aparecer un mensaje de error como The MySQL server is not permitted to read from the file. En ese caso, verifica que la ruta del archivo en el servidor sea correcta. También puedes usar la opción LOAD DATA LOCAL INFILE para cargar un archivo local.
LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
4.2 Problemas de codificación de caracteres
Si el archivo se guarda con una codificación de caracteres distinta, pueden producirse corrupciones de datos durante la importación. Para evitar este inconveniente, revisa la codificación del archivo con antelación y especifica el conjunto de caracteres adecuado en MySQL.
SET NAMES 'utf8mb4';
5. Ejemplo práctico: procedimiento de importación de CSV
Aquí, explicamos el procedimiento paso a paso para importar un archivo CSV real en MySQL.
5.1 Preparando el archivo CSV
Cree un archivo CSV (data.csv) con el siguiente contenido.
id,name,age
1,Taro Yamada,28
2,Hanako Sato,34
3,Ichiro Tanaka,45
5.2 Ejecutando el comando
Ejecute el siguiente comando para importar el archivo CSV creado en la tabla users.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
Este comando importa datos a partir de la segunda fila del archivo CSV en la tabla users.
6. Avanzado: Manejo de errores y prevención de datos duplicados
Esta sección explica cómo manejar errores durante la importación de CSV y cómo lidiar con datos duplicados.
6.1 Manejo de datos duplicados
Si ya existe data con la misma clave, puede usar la opción REPLACE para sobrescribir filas duplicadas con nuevos datos.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
REPLACE;
6.2 Manejo de errores
Si ocurren errores durante la importación pero desea continuar procesando, use la opción IGNORE. Esto omite filas problemáticas e importa los datos válidos restantes.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
IGNORE;
7. Conclusión
Importar archivos CSV en MySQL es una herramienta poderosa para manejar eficientemente grandes conjuntos de datos y migrar datos entre sistemas. Al entender los procedimientos básicos e implementar estrategias adecuadas de manejo de errores y prevención de duplicados, puede lograr importaciones de datos estables y confiables.
En artículos futuros, también explicaremos cómo exportar datos de una base de datos MySQL en detalle. Continúe mejorando sus habilidades de gestión de datos.


