MySQLLOAD DATA INFILE

Sintaxis

Utilizando LOAD DATA INFILE para cargar una gran cantidad de datos a la base de datos

Considera el siguiente ejemplo asumiendo que tienes un CSV delimitado por ‘;’para cargar en tu base de datos.

1;max;male;manager;12-7-19852;jack;male;executive;21-8-1990...1000000;marta;female;accountant;15-6-1992

Cree la tabla para la inserción.

Usa la siguiente consulta para insertar los valores en esa tabla.

Considera el caso en el que el formato de la fecha no es estándar.

1;max;male;manager;17-Jan-19852;jack;male;executive;01-Feb-1992...1000000;marta;female;accountant;25-Apr-1993

En este caso puedes cambiar el formato de la columna dob antes de insertarla así.

Este ejemplo de LOAD DATA INFILE no especifica todas las funcionalidades disponibles.

Puede ver más referencias sobre LOAD DATA INFILE aquí.

Importar un fichero CSV a una tabla MySQL

El siguiente comando importa ficheros CSV a una tabla MySQL con las mismas columnas respetando las reglas de entrecomillado y escape de CSV.

Cargar datos con duplicados

Si utiliza el comando LOAD DATA INFILE para rellenar una tabla con datos existentes, a menudo encontrará que la importación falla debido a los duplicados. Hay varias formas posibles de superar este problema.

Si se ha activado esta opción en su servidor, se puede utilizar para cargar un archivo que existe en el ordenador del cliente y no en el servidor. Un efecto secundario es que se ignoran las filas duplicadas para valores únicos.

LOAD DATA LOCAL INFILE 'path of the file/file_name.txt' INTO TABLE employee

CARGA DE DATOS INFILE ‘fname’ REPLACE

Cuando se utiliza la palabra clave replace los duplicados de claves únicas o primarias resultarán en que la fila existente sea reemplazada por otras nuevas

LOAD DATA INFILE 'path of the file/file_name.txt' REPLACE INTO TABLE employee

CARGAR INFILO DE DATOS ‘fname’ IGNORAR

Lo contrario de REPLACE, se conservarán las filas existentes y se ignorarán las nuevas. Este comportamiento es similar al de LOCAL descrito anteriormente. Sin embargo, no es necesario que el archivo exista en el ordenador cliente.

LOAD DATA INFILE 'path of the file/file_name.txt' IGNORE INTO TABLE employee

Carga a través de una tabla intermedia

A veces, ignorar o reemplazar todos los duplicados puede no ser la opción ideal. Puede que necesites tomar decisiones basadas en el contenido de otras columnas. En ese caso la mejor opción es cargar en una tabla intermedia y transferir desde allí.

INSERT INTO employee SELECT * FROM intermediary WHERE ...

Importación / exportación

Importación

SELECT a,b,c INTO OUTFILE 'result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table;

Exportación

LOAD DATA INFILE 'result.txt' INTO TABLE table;

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *