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

Cargar Txt a BD Mysql

Estas en el tema de Cargar Txt a BD Mysql en el foro de Mysql en Foros del Web. Estimados Quisiera hacerles una consulta... quiero cargar datos de un txt en una tabla mysql de mi BD Se podra modificar al momento de la ...
  #1 (permalink)  
Antiguo 05/08/2010, 09:14
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 14 años, 7 meses
Puntos: 1
Cargar Txt a BD Mysql

Estimados

Quisiera hacerles una consulta...

quiero cargar datos de un txt en una tabla mysql de mi BD
Se podra modificar al momento de la insercion un dato que esta dentro del txt

por ejemplo

en el archivo txt... uno de mis datos viene en formato "minuto/segundo" (la duracion de una llamada)

y al cargarlo a la tabla esos "minutos/segundo" por el formato TIME me quedan como si fuese "horas/ minutos" y los segundos los deja en 00

y yo quisiera como son muchos datos hacerlo con codigo, a manito seria muy latoso...

se podra con un codigo php ir leyendo el txt y a la vez modificando el dato de ese archivo para que se ingrese correctamente a la tabla... y concatenarle un par de 00 adelante para que ingresae con el formato 00:05:10 por ejemplo....


Espero us comentarios y mejor aun si me ayudan!!


Saludos!
  #2 (permalink)  
Antiguo 05/08/2010, 10:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Cargar Txt a BD Mysql

Personalmente, usaría una tabla intermedia que te permita cargar los valores tal y como están en el archivo y luego, con otra sentencia hacer un volcado masivo de datos a la tabla final
Código MySQL:
Ver original
  1. DROP TABLE IF EXISTS `test`.`tabla1`;
  2. CREATE TABLE  `test`.`tabla1` (
  3.   `HORA1` time NOT NULL,
  4.   `HORA2` time NOT NULL,
  5.   `HORA3` time NOT NULL,
  6.   `HORA4` time NOT NULL,
  7.   `HORA5` time NOT NULL
  8. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='InnoDB free: 7168 kB';
Código MySQL:
Ver original
  1. DROP TABLE IF EXISTS `test`.`tabla2`;
  2. CREATE TABLE  `test`.`tabla2` (
  3.   `HORA1` varchar(10)NOT NULL,
  4.   `HORA2` varchar(10)NOT NULL,
  5.   `HORA3` varchar(10)NOT NULL,
  6.   `HORA4` varchar(10)NOT NULL,
  7.   `HORA5` varchar(10)NOT NULL
  8. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='InnoDB free: 7168 kB';
Código MySQL:
Ver original
  1. LOAD DATA INFILE 'C:\\HORAS.TXT'
  2.   INTO TABLE tabla2
  3.   ENCLOSED BY '\"'
  4.   LINES TERMINATED BY '\r\n';
Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla2 t;
  2. +-------+-------+-------+-------+-------+
  3. | HORA1 | HORA2 | HORA3 | HORA4 | HORA5 |
  4. +-------+-------+-------+-------+-------+
  5. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  6. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  7. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  8. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  9. | 00:01 | 00:01 | 00:01 | 00:01 | 00:01 |
  10. +-------+-------+-------+-------+-------+
  11. 5 rows in set (0.00 sec)
Código MySQL:
Ver original
  1. INSERT INTO tabla1(HORA1, HORA2, HORA3, HORA4, HORA5)
  2.   TIME(CONCAT('00:',HORA1)),
  3.   TIME(CONCAT('00:',HORA2)),
  4.   TIME(CONCAT('00:',HORA3)),
  5.   TIME(CONCAT('00:',HORA4)),
  6.   TIME(CONCAT('00:',HORA5))
  7. FROM tabla2 t;
  8. mysql> SELECT * FROM tabla1 t;
  9. +----------+----------+----------+----------+----------+
  10. | HORA1    | HORA2    | HORA3    | HORA4    | HORA5    |
  11. +----------+----------+----------+----------+----------+
  12. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  13. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  14. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  15. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  16. | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 | 00:00:01 |
  17. +----------+----------+----------+----------+----------+
  18. 5 rows in set (0.02 sec)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bd, txt
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 14:40.