Estate atento ya que en este escrito encontrarás el resultado que buscas.Esta noticia ha sido aprobado por nuestros expertos para garantizar la calidad y exactitud de nuestro post.
Solución:
Debería ser tan simple como…
LOAD DATA INFILE '/tmp/mydata.txt' INTO TABLE PerformanceReport;
Por defecto LOAD DATA INFILE
usa tabulado delimitado, una fila por línea, por lo que debería tomarlo bien.
Tutorial sobre el uso del comando LOAD DATA de MySQL:
-
Crea tu tabla:
CREATE TABLE foo(myid INT, mymessage VARCHAR(255), mydecimal DECIMAL(8,4));
-
Cree su archivo delimitado por tabulaciones (tenga en cuenta que hay tabulaciones entre las columnas):
1 Heart disease kills 1.2 2 one out of every two 2.3 3 people in America. 4.5
-
Utilice el comando de carga de datos:
LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY 't';
Si recibe una advertencia de que este comando no se puede ejecutar, debe habilitar el
--local-infile=1
parámetro descrito aquí: ¿Cómo puedo corregir el error de carga de MySQL? -
Las filas se insertan:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
Compruebe si funcionó:
mysql> select * from foo; +------+----------------------+-----------+ | myid | mymessage | mydecimal | +------+----------------------+-----------+ | 1 | Heart disease kills | 1.2000 | | 2 | one out of every two | 2.3000 | | 3 | people in America. | 4.5000 | +------+----------------------+-----------+ 3 rows in set (0.00 sec)
Cómo especificar en qué columnas cargar las columnas de su archivo de texto:
Me gusta esto:
LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo
FIELDS TERMINATED BY 't' LINES TERMINATED BY 'n'
(@col1,@col2,@col3) set [email protected],[email protected];
El contenido del archivo se pone en las variables @col1, @col2, @col3. myid obtiene la columna 1 y mydecimal obtiene la columna 3. Si esto se ejecutara, omitiría la segunda fila:
mysql> select * from foo;
+------+-----------+-----------+
| myid | mymessage | mydecimal |
+------+-----------+-----------+
| 1 | NULL | 1.2000 |
| 2 | NULL | 2.3000 |
| 3 | NULL | 4.5000 |
+------+-----------+-----------+
3 rows in set (0.00 sec)
Si su tabla está separada por otros que no sean pestañas, debe especificarlo como…
LOAD DATA LOCAL
INFILE '/tmp/mydata.txt' INTO TABLE PerformanceReport
COLUMNS TERMINATED BY 't' ## This should be your delimiter
OPTIONALLY ENCLOSED BY '"'; ## ...and if text is enclosed, specify here
Tienes la opción de sostener nuestra publicación escribiendo un comentario o valorándolo te estamos agradecidos.