- 1 1. Introducción a la importación de archivos CSV en MySQL
- 2 2. Requisitos previos
- 3 3. Importación de CSV con el comando LOAD DATA INFILE
- 4 4. Solución a problemas comunes
- 5 5. Ejemplo práctico: Procedimiento de importación de un archivo CSV
- 6 6. Uso avanzado: Manejo de errores y datos duplicados
- 7 7. Conclusión
1. Introducción a la importación de archivos CSV en MySQL
Importar archivos CSV en MySQL es un método poderoso para optimizar la gestión de datos y evitar la entrada manual. Por ejemplo, cuando deseas cargar información recopilada de múltiples fuentes en una sola base de datos, o procesar automáticamente datos provenientes de sistemas externos, la importación de CSV resulta muy útil.
Usos comunes de la importación de CSV
- Procesamiento de grandes volúmenes de datos: En lugar de introducir manualmente miles de registros, la importación de CSV permite hacerlo en poco tiempo.
- Migración de datos: Es conveniente al importar en MySQL datos que fueron exportados desde otros sistemas.
- Actualización periódica de datos: En sistemas donde los datos se actualizan regularmente, es posible automatizar el proceso mediante archivos CSV.
2. Requisitos previos
Antes de importar un archivo CSV en MySQL, es necesario realizar algunas configuraciones y preparativos para asegurar un proceso fluido.
2.1 Entorno necesario
- Instalación del servidor MySQL
Es fundamental que MySQL esté correctamente instalado. Verifica que MySQL funcione en tu entorno, ya sea Windows, macOS o Linux. - Verificación de permisos
Para importar un archivo CSV, el usuario de MySQL debe contar con los permisos adecuados, en especial el permiso para ejecutarLOAD DATA INFILE
. Si este permiso no está habilitado, la importación podría ser rechazada.
2.2 Formato del archivo CSV
- Delimitador
Normalmente los archivos CSV están separados por comas, aunque también se utilizan tabulaciones o punto y coma. Es importante confirmar qué delimitador se está usando. - Verificación de la codificación
Si el archivo CSV está guardado con una codificación diferente (UTF-8, Shift-JIS, etc.), puede producirse corrupción de caracteres al importarlo. Revisa la codificación del archivo y conviértelo al formato adecuado si es necesario.

3. Importación de CSV con el comando LOAD DATA INFILE
El método más común para importar un archivo CSV en MySQL es mediante el comando LOAD DATA INFILE
. Con este comando puedes cargar grandes volúmenes de datos en la base de datos de manera sencilla.
3.1 Sintaxis básica
A continuación se muestra la sintaxis básica para importar un archivo CSV en 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 cada campo. Generalmente se usa la coma.LINES TERMINATED BY
: Define el carácter que separa las líneas. Normalmente se utilizan
(salto de línea).
3.2 Ejemplo práctico
En el siguiente ejemplo, se importa el archivo user_data.csv
en 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 línea del archivo CSV (cabecera). Esta opción es útil cuando la primera fila contiene los nombres de las columnas.
3.3 Puntos a considerar: ruta y permisos
Cuando se especifica la ruta del archivo, este debe estar en un lugar accesible para el servidor MySQL. Si el servidor no puede acceder al archivo, utiliza LOAD DATA LOCAL INFILE
para cargar los datos desde el lado del cliente.
4. Solución a problemas comunes
A continuación se presentan algunos de los problemas más frecuentes durante la importación de archivos CSV y cómo resolverlos.
4.1 Problemas con la ruta del archivo
Si la ruta del archivo no se especifica correctamente, puede aparecer el error: The MySQL server is not permitted to read from the file
. En este caso, revisa que la ruta del archivo en el servidor sea correcta y utiliza 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 está guardado en una codificación distinta, pueden aparecer caracteres corruptos al importarlo. Para evitarlo, revisa la codificación del archivo y especifica el juego de caracteres correcto en MySQL.
SET NAMES 'utf8mb4';

5. Ejemplo práctico: Procedimiento de importación de un archivo CSV
A continuación, se explica paso a paso cómo importar un archivo CSV en MySQL.
5.1 Preparación del archivo CSV
Crea un archivo CSV (data.csv
) con el siguiente contenido:
id,name,age
1,山田太郎,28
2,佐藤花子,34
3,田中一郎,45
5.2 Ejecución del comando
Para importar el archivo CSV creado en la tabla users
, ejecuta el siguiente comando:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
Este comando importará las filas a partir de la segunda línea del archivo CSV en la tabla users
.
6. Uso avanzado: Manejo de errores y datos duplicados
En esta sección se explica cómo manejar errores durante la importación y cómo tratar registros duplicados.
6.1 Manejo de datos duplicados
Si ya existe un registro con la misma clave, puedes usar la opción REPLACE
para sustituir la fila duplicada con los 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 ocurre un error durante la importación, puedes continuar el proceso con la opción IGNORE
. Esto permite omitir las filas problemáticas y cargar el resto de los datos.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
IGNORE;

7. Conclusión
La importación de archivos CSV en MySQL es una herramienta poderosa para procesar grandes volúmenes de datos y optimizar la migración entre sistemas. Comprender los pasos básicos, aplicar estrategias para manejar errores y tratar duplicados permite garantizar importaciones estables y eficientes.
En futuros artículos se explicará en detalle cómo exportar datos desde bases de datos MySQL, lo que permitirá mejorar aún más tus habilidades en la gestión de datos.