Pregunta

¿MySql tiene una herramienta de línea de comandos de carga masiva como bcp para SQLServer y sqlldr para Oracle? Sé que hay un comando SQL LOAD INFILE o similar, pero a veces necesito cargar en masa un archivo que está en un cuadro diferente de la base de datos MySQL.

¿Fue útil?

Solución

mysqlimport.

toma los mismos parámetros de conexión que el shell de línea de comando mysql. Asegúrese de usar el indicador -L para usar un archivo en el sistema de archivos local, de lo contrario asumirá (extrañamente) que el archivo está en el servidor.

También hay una variante análoga al comando load data infile , es decir, load data local infile , según el cual el archivo se cargará desde el cliente en lugar de el servidor, que puede lograr lo que quieres hacer.

Otros consejos

LOAD DATA LOCAL INFILE 'C:\\path\\to\\windows\\file.CSV'
INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, field2, field3, fieldx);

¿Creo que mysqlimport puede ayudar?

Carga tablas de archivos de texto en varios formatos. El nombre base de la El archivo de texto debe ser el nombre de la tabla que se debe utilizar. Si uno usa sockets para conectarse al servidor MySQL, el servidor se abrirá y lea el archivo de texto directamente. En otros casos, el cliente abrirá el texto. expediente. El comando SQL 'LOAD DATA INFILE' se usa para importar las filas.

mysql -u root -p
use database;
source /path/yourfile.sql

Puede ser lo que está buscando, puede usar rsync a través de ssh para transferir el 'archivo masivo' de una máquina a otra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top