Importar datos a mysql

Tengo un problemita, me pasaron una base de datos en un archivo de texto y lo quiero pasar a mysql, bueno en si lo que te tengo es el appserv en donde ya viene lo que es e mysql+apache+phpmyadmin, y este archivo necesito pasarlo a mysql, el archivo tiene poco ams de 7000 registros, pero como en la tabla "datos" en donde quiero pasar estos datos hay más campos que no coinciden con el archivo de texto tuve que crear otra tabla "datos2"de modo que los campos coincidieran y poderlos pasar, uno de los problemas es que solo me paso 3520 datos de los 7000 que son, no se porque, ahora el otro problema es como pasar esos datos de la tabla "datos2" a la tabla "datos" que necesito.

2 respuestas

Respuesta
1
Veo que están intentando importar los datos directamente con la instrucción ¿ LOAD FROM FILE?
Para que tu traspaso de datos tenga éxito debes tener en cuenta lo siguiente:
1º ¿Cuál es el carácter que separa un registro de otro?
2º ¿Cuál es el carácter que separa un campo de otro?
3º Tras analizar el fichero detenidamente y tener claros los dos puntos anteriores, te recomiendo encarecidamente que programes un script de carga en PHP, de forma que leas cada línea, hagas el procesamiento correspondiente, y el INSERT asociado fila a fila.
Prueba a realizar lo que te comento y me dices que tal te ha ido.
Gracias por la respuesta tan rápida, mira la verdad nade de esto lo hie con código, solo en mi appserv me fui a mi base de datos, seleccione la tabla datos 2 donde quería que se me importaran mis datos, le di clic en importar seleccione el archivo de texto, seleccione la pcopn que dice "csv usando load data" puse los caracteres con los cuales se separa y le di continuar y así los importe, el problema como lo comentaba es que solo me paso la mitad de los datos los demás ya no, ademas que esos datos los quería en otra tabla pero como tuve que crear esa para que coincidieran con los del archivo .txt pues ya no pude pasarlos a la otra tabla en donde hay más campos pero vacíos
Saludos!
Bien... ¿el fichero que estas intentando importar en formago CSV... ES UN CSV?
¿Por qué no pruebas a importarlo en excel, tratar los datos en él, posteriormente grabar desde Excel a formato CVS y finalmente intentar a importar desde MySQL?
No existe otra forma si no quieres programar la incorporación de datos.
Respuesta
1
Primeramente, encantado de poder ayudarte, aunque... bueno... dada mi ..."desviación"... en cuanto a mis conocimientos prácticos definidos por lo que yo acostumbro a hacer en mi trabajo, más que otra cosa, en cuanto al tema que nos ocupa, mi ..."ayudita"... sea pequeña y limitada...
En cuanto a copiar ("volcar" como yo lo suelo llamar...) los datos que tienes en la tabla Datos2 a la tabla Datos, aquí un servidor suele tener el ..."truquito de andar por casa"... de modificar la estructura de la tabla Datos2 (con los 3520 datos que ya tienes dentro...) de forma que esta coincida con la estructura de la tabla Datos (los campos en el mismo orden, con los mismos tipos, longitudes y otros atributos... de cada campo...) (si hace falta, se crean nuevos campos para ..."rellenar"... los campos de Datos que no existan en Datos2...). Antes de copiar los datos de Datos2 en Datos, con,:
INSERT INTO Datos SELECT * FROM Datos2;
Aunque, también se podría hacer, los campos de Datos2 que vayas a copiar a Datos, modificas su estructura para que coinicidan con el mismo tipo y atributos de los campos destino en la tabla Datos, y luego ejecutas el comando:
INSERT INTO Datos (<Campo1>,<Campo2>,...,<CampoN>) SELECT <Campo1>,<Campo2>,...,<CampoN> FROM Datos2;
Ahora, en cuanto al otro problema (que no te ha podido volcar los 7000 datos...) suele ocurrir por algún problema de ..."compatibilidad"... o de ..."encaje"... de algún dato en tu fichero original, que no ha podido importarse debido, p.ej., a que en la tabla Datos2 hayas creado un campo, pongamos que llamado Domicilio, de tipo CHAR y de longitud máxima de 50, CHAR(50), y que, resúltese, en el fichero que hayas querido volcar se encuentre un "Domicilio" más largo que 50 caracteres...
Eso, aquí a un menda, suele pasarle a menudo. La solución: Modificar la estructura de la tabla Datos2 para darle mayor longitud al supuesto campo Domicilio (un ... CHAR(100), p.ej...)
Bueno... Ojalá te haya ayudado ... un poquitín...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas