我有一个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
这样的错误
7 回答
我猜你错过了ENCLOSED BY子句
并指定csv文件的完整路径
Load Data Infile - MySQL documentation
如果您有较小的数据集,GUI实现它的方法是:
打开查询窗口
SELECT * FROM [table_name]
从菜单栏中选择“导入”
按结果网格下方右下角的“应用”
参考:http://www.youtube.com/watch?v=tnhJa_zYNVY
在SCHEMAS下的导航器中,右键单击您的架构/数据库并选择“表数据导入向导”
也适用于mac .
目前无法在所有平台中导入CSV(使用MySQL Workbench),也不建议所述文件是否与MySQL服务器主机位于同一主机中 .
但是,您可以使用mysqlimport .
例:
在此示例中,
mysqlimport
被指示加载名为"sales"的所有文件,其扩展名以"part_"开头 . 这是加载"split"示例中创建的所有文件的便捷方式 . 使用--compress选项可以最小化网络流量 . --fields-terminated-by = ','选项用于CSV文件, - local选项指定传入数据位于客户端 . 如果没有--local选项,MySQL将在数据库主机上查找数据,因此请始终指定--local选项 .AWS RDS documentation中有关于该主题的有用信息 .
如果服务器驻留在远程计算机上,请确保该文件位于远程计算机中,而不是本地计算机中 .
如果文件位于mysql服务器所在的同一台机器上,请确保mysql用户具有读/写文件的权限,或者将文件复制到mysql架构目录中:
在我的ubuntu案例中,它是:/var/lib/mysql/db_myschema/myfile.csv
此外,与此问题无关,但如果您对新行有问题,请使用sublimeTEXT将行结尾更改为WINDOWS格式,保存文件并重试 .
这似乎有点棘手,因为它确实困扰了我很长一段时间 .
您只需打开表格(右键单击“选择行 - 限制10000”),您将打开一个新窗口 . 在这个新窗口中,您将找到“导入图标” .
你可以使用MySQL Table Data Import Wizard