Cargar datos desde un csv


Icono de sql Si hemos extraido con phpmyadmin o con otra sql un fichero de csv ( en esta entrada se explica /select-a-fichero-csv ) y queremos volverlo a poner, tenemos 2 opciones, o por phpmyadmin o por consola en una SQL, aquí teneis la sql.

LOAD DATA LOCAL INFILE '/ruta/al/fichero/fichero.csv' INTO TABLE nombre_tabla FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

Tenemos que especificar la ruta donde se encuentra, elegir el nombre de la tabla a la cual se insertarán los datos y seleccionar cuales serán los carácteres de termincación de columna, en este caso coma (,), el carácter que encierra el contenido de la columna, en este caso comilla simple (') y el carácter de fin de línea, en este caso el salto de línea (\n) .

Si quisieramos cargar los datos en un orden que no se encuentra en el fichero podemos especificar los nombres de los fields en la misma sql. Un ejemplo:

LOAD DATA LOCAL INFILE '/ruta/al/fichero/fichero.csv' INTO TABLE nombre_tabla FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (nombre,apellido);

Con este ejemplo pondremos el primer valor en el campo nombre de la tabla y el segúndo valor de la fila en el campo apellido.