我有一个CSV文件。它包含140万行数据,因此我无法在Excel中打开该csv文件,因为它的限制大约是100万行。
因此,我想在MySQL工作台中导入此文件。此csv文件包含
之类的列"Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type"
我正在尝试在MySQL工作台中创建一个名为“dummy”的表,其中包含
等列ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp.
CSV文件名为model.csv
。我在workbench中的代码是这样的:
LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by '\n';
但我收到的错误如model.CSV file not found
答案 0 :(得分:130)
我猜你错过了ENCLOSED BY子句
LOAD DATA LOCAL INFILE '/path/to/your/csv/file/model.csv'
INTO TABLE test.dummy FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n';
并指定csv文件的完整路径
答案 1 :(得分:65)
如果您的数据集较小,GUI的实现方法是:
答案 2 :(得分:13)
在SCHEMAS下的导航器中,右键单击您的架构/数据库,然后选择"表数据导入向导"
也适用于mac。
答案 3 :(得分:1)
目前无法在所有平台中导入CSV(使用MySQL Workbench),也不建议所述文件与MySQL服务器主机不在同一主机中。
但是,您可以使用mysqlimport。
示例:
mysqlimport --local --compress --user=username --password --host=hostname \
--fields-terminated-by=',' Acme sales.part_*
在此示例中,mysqlimport
被指示加载名为“sales”的所有文件,其扩展名以“part_”开头。这是加载“拆分”示例中创建的所有文件的便捷方式。使用--compress选项可以最小化网络流量。 --fields-terminated-by =','选项用于CSV文件, - local选项指定传入数据位于客户端。如果没有--local选项,MySQL将在数据库主机上查找数据,因此请始终指定--local选项。
AWS RDS documentation中有关于该主题的有用信息。
答案 4 :(得分:0)
如果服务器驻留在远程计算机上,请确保该文件位于远程计算机中,而不是本地计算机中。
如果文件位于mysql服务器所在的同一台机器上,请确保mysql用户具有读/写文件的权限,或将文件复制到mysql架构目录中:
在我的ubuntu案例中,它是:/var/lib/mysql/db_myschema/myfile.csv
此外,与此问题无关,但如果您对新行有问题,请使用sublimeTEXT将行结尾更改为WINDOWS格式,保存文件并重试。
答案 5 :(得分:0)
这似乎有点棘手,因为它确实困扰了我很长时间。
您只需要打开表格(右键单击"选择行数限制10000和#34;)您将打开一个新窗口。在这个新窗口中,您将找到"导入图标"。
答案 6 :(得分:0)
您可以使用MySQL Table Data Import Wizard