通过命令行将csv导入到mysql中

我试图导入一个非常大的.csv文件(〜4GB)到MySQL。 我正在考虑使用phpmyadmin,但是你有一个2MB的最大上传大小。 有人告诉我,我必须使用命令行。

我打算使用这些说明导入它: http : //dev.mysql.com/doc/refman/5.0/en/mysqlimport.html#c5680

将.csv表中的第一行设置为mysql表中的列名的命令是什么? 这个选项可以通过phpmyadmin获得,所以它们也必须是一个mysql命令行版本,对吗? 请帮帮我。 谢谢。

-Raj

试试这个命令

load data local infile 'file.csv' into table table fields terminated by ',' enclosed by '"' lines terminated by '\n' (column1, column2, column3,...) 

这里的字段是数据需要坐在的实际表格字段。封闭的字符和行结束符是可选的,并且可以帮助您使用双引号括起来的列,如Excel导出等。

有关详细信息,请查阅手册 。

要将第一行设置为表列名称,只需忽略要读取的行并在命令中添加值。

你可以做一个

 mysqlimport --columns='head -n 1 $yourfile' --ignore-lines=1 dbname $yourfile` 

也就是说,如果你的文件是逗号分隔的,而且不是分号分隔的话。 否则你可能也需要通过它。

要使用mysqlimport将头部行导入csv,只需添加

 --ignore-lines=N 

(忽略数据文件的前N行)

该选项在您链接的页面中描述。

尝试这个:

 mysql -uusername -ppassword --local-infile scrapping -e "LOAD DATA LOCAL INFILE 'CSVname.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'"