Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

carga masiva de datos

Estas en el tema de carga masiva de datos en el foro de Mysql en Foros del Web. Hola: tengo este problema que solucionar: Debo llenar una enorme base de datos MySql, y no puedo hacerlo de uno en uno. ¿Cómo podría hacerlo ...
  #1 (permalink)  
Antiguo 24/03/2006, 12:04
 
Fecha de Ingreso: septiembre-2003
Mensajes: 197
Antigüedad: 20 años, 7 meses
Puntos: 0
carga masiva de datos

Hola: tengo este problema que solucionar:
Debo llenar una enorme base de datos MySql, y no puedo hacerlo de uno en uno. ¿Cómo podría hacerlo en forma masiva?
  #2 (permalink)  
Antiguo 24/03/2006, 14:56
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
Pues si tienes los registros en un archivo plano. la cosa seria sencilla utilizando la funcion

LOAD DATA INFILE "ruta//nombreArchivo" INTO TABLE nombre_tabla
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #3 (permalink)  
Antiguo 24/03/2006, 14:59
 
Fecha de Ingreso: septiembre-2003
Mensajes: 197
Antigüedad: 20 años, 7 meses
Puntos: 0
seria genial si me das un ejemplo de como debe ser el archivo plano, es decir, que debe decir ?? espero explicarme bien
  #4 (permalink)  
Antiguo 24/03/2006, 15:09
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
digamos que la tabla tiene 3 campos (id, nombre, sexo).......es este caso el archivo plano deberia ser mas o menos asi:

Cita:
1 Pedro Masculino
2 Amalia Femenino
3 Rosario Femenino
4 Alex Masculino
.
.

Entonces. digamos que el archivo donde estan todos estos registros se llama "planos.txt"

En el MySQL escribirias la sentencia

LOAD DATA INFILE "C:\\planos.txt" INTO TABLE miTabla
FIELDS TERMINATED BY '\t'

la ultima linea indica que cada vez que en linea haya un Tabulador (\t), el proximo dato se ingresara en el siguiente campo.........

por ejemplo si en el archivos los datos estan asi:
1,Pedro,Masculino
En MySQL colocarias: FIELDS TERMINATED BY ','

Si no me he sabido explicar (eso no es extraño en mi) te dejo este link que te puede servir

http://mysql.conclase.net/curso/index.php?sen=LOAD_DATA

.......SALUDOS!!!.......
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #5 (permalink)  
Antiguo 24/03/2006, 15:23
 
Fecha de Ingreso: septiembre-2003
Mensajes: 197
Antigüedad: 20 años, 7 meses
Puntos: 0
Bien creo que lo entendi, pero que pasa si el archivo en cuestion no es txt.
Que pasa si el archivo es un .doc o .xls, se podria hacer tambien?? y de ser asi como deberia estar el archivo .doc por ejemplo. Gracias
  #6 (permalink)  
Antiguo 24/03/2006, 15:30
Avatar de dacmonsalve  
Fecha de Ingreso: noviembre-2005
Ubicación: Colombia Tierra querida, himno de fe y armonia
Mensajes: 318
Antigüedad: 18 años, 5 meses
Puntos: 6
Bueno pues la verdad con esa pregunta que "corchaste"......hago una prueba y no me carga los datos.......el problema del .doc (generado en WORD) o del .xls (generado en EXCEL). es que coloca el texto con formato.............

Por eso, los archivos planos la mayoria de las veces son generados o en el bloc de notas. pues no le coloca formato al texto.........

Creo que por eso se llama Archivo Plano......


Lo que podrias intentar y es lo que hago yo cuando me pasan los datos en una hoja de calculo es copiar y pegar en el bloc de notas
__________________
La mayor frustración es saber todas las respuestas,
pero que nadie te haga las preguntas
:Zzz:
.
  #7 (permalink)  
Antiguo 24/03/2006, 15:34
 
Fecha de Ingreso: septiembre-2003
Mensajes: 197
Antigüedad: 20 años, 7 meses
Puntos: 0
Muy bien, me has aclarado bastante el panorama. Y muchas gracias por tus rapidas y claras respuestas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:00.