Si te has encontrado en la situación en que necesitas importar muchos registros que se encuentran en excel a MySQL este post puede ser de utilidad. Utilizando el formato CSV puedes lograr importar tus datos desde excel.
Que es CSV?
Según Wikipedia, son un tipo de
documento en formato abierto sencillo para
representar datos en forma de tabla, en las que las columnas se separan por
comas (o punto y coma en donde la coma es el separador decimal: España,
Francia, Italia...) y las filas por saltos de línea.
Ya conociendo más o menos que es el formato CSV, tenemos que tener nuestro
Excel con los registros a exportar, en este caso usare unos cuantos registros.
Cabe aclarar que en las pruebas para números que están separadas las cifras de
miles por coma debemos editar el Formato numérico y seleccionar “General”.
Ahora necesitaremos guardar este Excel con un formato CSV:
Si abrimos el archivo CSV miraremos los registros separados por comas de la
siguiente forma:
Cada registro separado por coma será un dato a importar a la base de datos.
En los archivos CSV la primera fila indica las columnas de las tablas, por
lo que
procederemos a eliminar esta fila, ya que solo nos interesan sus registros. También
en mis pruebas el id debía ser colocado en el CSV, por lo que en Excel podemos
colocar un campo id también y agregarle sus valores.
Forma 1: Funciona en phpMyAdmin y Workbench:
Nuestra
tabla estará hecha de la siguiente manera:
create table empleados(
id_empleado int primary key not null auto_increment,
nombre varchar(15),
apellido varchar(15),
edad int,
salario float
);
Para
este ejemplo introduciré el archivo a importar en C: en una carpeta llamada
“import”. El código en mi caso sería:
Si obtienes el siguiente error:
Es por la copia del codigo, el codigo erroneo se mira asi (notar el string de la ruta no esta colorido):
El resultado en phpMyAdmin:
Forma 2: En el Workbench:
Para
el Workbench existe un botón para importar el archivo (la única forma que la
note es haciendo un select a la tabla xD):
Luego
seleccionamos el botón para importar y seleccionamos el archivo:
Ahora debes seleccionar aplicar, en la ventana de la consulta:
Luego , aplicar y finalizar:
Un
select y listo.
Espero
que sea de utilidad.
Saludos.
Hola,
ResponderEliminaruna duda si los datos tienen texto con comas como lo importariamos?
ejemplo:
nombre apellido comentario
--------------------------------------------
antonio lopez una duda, si los datos tienen texto con comas, ¿como lo importariamos?
Hola buen dia, gracias por pasar, en este caso el csv se comporta de forma "inteligente" pues el te agrega entre comillas dobles las celdas donde contengas comas. El problema ocurre en los numeros, en la separacion de miles por coma, la solucion radica en jugar con los formatos de celda, tendras que agregar un formato de numero que deje solamente los decimales separados por un punto para evitar errores en la importacion.
EliminarEsto lo he realizado con worckbench y no da problemas, Saludos.
un ejemplo rapido de csv para este caso quedaria asi :
Eliminar3,"elvin, guti probando, csv",1.20,1000.00,
espero te pueda ayudar!
eres lo maximo hermano gracias me sirvio la respuesta :D
Eliminarestimados,lo estoy dentro del hosting por phpmyadmin y me sale este error #13 - Can't get stat of '/var/lib/mysql/C:/BDD.CSV' (Errcode: 2)
ResponderEliminarestimados,lo estoy dentro del hosting por phpmyadmin y me sale este error #13 - Can't get stat of '/var/lib/mysql/C:/BDD.CSV' (Errcode: 2)
ResponderEliminarHola, posiblemente no estas especificando bien la ruta del archivo. Deberás también subir el archivo al server, quizas con ftp. Saludos.
EliminarHola, posiblemente no estas especificando bien la ruta del archivo. Deberás también subir el archivo al server, quizas con ftp. Saludos.
Eliminarhola para los datos que tiene 0 al inicio como cargar porque al cargar se elimina el 0
ResponderEliminarhola para los datos que tiene 0 al inicio como cargar porque al cargar se elimina el 0
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola, tengo un problema y al parecer lo que pasa es que no me esta reconociendo los '\n' por que me sale error de FK del ultimo campo, pero solo si pongo 2 o mas registros, cuando dejo en el .csv solo un registro si me lo inserta bien, alguien sabe que puedo hacer?
ResponderEliminarGracias.
hola chicos. les hago una consulta, necesito pasar un excel .xlsm a una base de datos phpmyadmin. entiendo que primero lo tengo que pasar a .csv y despues a la bd. el gran problema es que tiene que ser automatico y refrescar cada 1 minuto ya que los datos del excel estan cambiando dinamicamente. no entiendo mucho de este lenguaje, si alguien me puede ayudar le agradeceria muchisimo.
ResponderEliminarQuizás un cron job te ayuda a realizar eso.
EliminarSaludos.
Saludos, ayuden por favor, estoy usando mysql con workbench y he hecho de todo y no puedo importar los datos, me sale error 1290
ResponderEliminarSaludos, ayuden por favor, estoy usando mysql con workbench y he hecho de todo y no puedo importar los datos, me sale error 1290
ResponderEliminar