Inicio > Bases de datos > hfpg2001 > importar datos de un .tst a mysql

importar datos de un .tst a mysql

Experto:
Usuario:
Fecha: 26/10/2009
Valoración: (4,00 sobre 5) Categoría: Bases de datos
20/10/2009
oscarjosue, usuario preguntando en Bases de datos
Usuario
hola saludos!!!!!! tengo un problemita, me pasaron una base de datos en un archivo de texto y lo kiero pasar a mysql, bueno en si lo ke te tengo es el appserv en donde ya viene lo ke 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 kiero pasar estos datos hay mas campos ke no coinsiden con el archivo de texto tuve ke crear otra tabla "datos2"de modo ke los campos coincidieran y poderlos pasar, uno de los problemas es ke solo me paso 3520 datos de los 7000 ke son, no se porque, ahora el otro problema es como pasar esos datos de la tabla "datos2" a la tabla "datos" ke necesito.
21/10/2009
oscarjosue, experto respondiendo en Bases de datos
Experto
Esto es tomado de la pagina de SUN. Gracias a quien se lo merece. Documentacion para Mysql. Lo que te recomiendo es pruebes primero la carga completa a la tabla2 (Solo para aprender algo nuevo). Luego cuando eso funcione, deberias utilizar un insert del select de la tabla2 a la tabla1 con los campos que tiene la tabla1.
 
http://dev.mysql.com/doc/refman/5.0/es/loading-tables.html
 
 
///////////////
 
Dado que está comenzando con una tabla vacía, una forma fácil de completarla es creando un fichero de texto que contenga una línea por cada animal, y luego insertando el contenido del fichero en la tabla mediante una sola sentencia.
Para esto, debería crear un fichero de texto llamado pet.txt, conteniendo un registro por linea, con cada valor separado por un carácter de tabulación, y dispuestos en el orden en el cual se especificaron las columnas en la sentencia CREATE TABLE. Para valores ausentes (como sexo desconocido o fechas de muerte de animales con vida), puede usar valores NULL. Para representar estos valores en el archivo de texto, utilice \N (barra diagonal y N mayúscula). Por ejemplo, el registro de Whistler se vería del modo siguiente (el espacio en blanco entre cada valor es un solo carácter de tabulación):
name owner species sex birth death Whistler Gwen bird \N 1997-12-09 \N
Para cargar el fichero pet.txt dentro de la tabla pet, utilice este comando:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
Si trabaja en Windows, con un editor que emplea \r\n (retorno de carro + nueva linea) como caracteres de fin de línea, debería usar:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet -> LINES TERMINATED BY '\r\n';
(En un ordenador Apple bajo OS X, probablemente quiera utilizar LINES TERMINATED BY '\r'.)
Opcionalmente puede especificar en la sentencia LOAD DATA los caracteres que actuarán como separador de campo y fin de línea, pero los valores por defecto son tabulación y nueva línea. Estos son suficientes para que la sentencia lea correctamente el fichero pet.txt
Si ocurre un error al ejecutar la sentencia, probablemente se deba a que su instalación de MySQL no tiene habilitada por defecto la capacidad de manejar archivos locales. Consulte Sección 5.5.4, "Cuestiones relacionadas con la seguridad y LOAD DATA LOCAL" para obtener información sobre cómo cambiar esto.
Cuando lo que desea es agregar nuevos registros de a uno por vez, la sentencia INSERT resulta de utilidad. De esta sencilla manera, se suministran valores para cada columna, dispuestos en el orden en el cual se especificaron las columnas en la sentencia CREATE TABLE statement. Suponga que Diane obtiene un nuevo hamster llamado "Puffball". Se podría agregar un nuevo registro, usando la sentencia INSERT de este modo:
mysql> INSERT INTO pet -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Observe que las cadenas alfanuméricas y las fechas son representados como cadenas delimitadas por apóstrofos. También, con INSERT, se pueden insertar valores NULL directamente, para indicar un valor ausente. No se debe utilizar \N como se hace con LOAD DATA.
A partir de este ejemplo queda demostrado que lleva mucho más trabajo realizar una carga inicial de registros empleando varias sentencias INSERT que si se hace mediante la sentencia LOAD DATA.
26/10/2009
oscarjosue, usuario preguntando en Bases de datos
Usuario
Muy Bien. Me ha sido de gran utilidad
Enlaces patrocinados