8

MySql 是否有批量加载命令行工具,例如用于 SQLServer 的 bcp 和用于 Oracle 的 sqlldr?我知道有一个 SQL 命令LOAD INFILE或类似命令,但有时我需要将不同盒子上的文件批量加载到 MySQL 数据库。

4

4 回答 4

7

mysql导入。

采用与 mysql 命令行 shell 相同的连接参数。确保使用 -L 标志来使用本地文件系统上的文件,否则它会(奇怪地)假定文件在服务器上。

该命令还有一个类似的变体load data infile,即 ,load data local infile根据该变体,文件将从客户端而不是服务器加载,这可能会完成您想要做的事情。

于 2009-10-26T17:37:12.120 回答
6
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);
于 2009-10-26T20:18:07.943 回答
2

我认为 mysqlimport 可能会有所帮助?

从各种格式的文本文件中加载表格。文本文件的基本名称必须是应该使用的表的名称。如果使用套接字连接到 MySQL 服务器,服务器将直接打开并读取文本文件。在其他情况下,客户端将打开文本文件。SQL 命令“LOAD DATA INFILE”用于导入行。

于 2009-10-26T17:22:38.967 回答
2
mysql -u root -p
use database;
source /path/yourfile.sql

可能是您正在寻找的,您可以通过 ssh 使用 rsync 将“批量文件”从一台机器传输到另一台机器。

于 2009-10-26T17:23:54.517 回答