如何将10,000行test.xls文件加载到mysql db表中?
当我使用以下查询时,它会显示此错误。
LOAD DATA INFILE'd:/test.xls'INTO TABLE karmaasolutions.tbl_candidatedetail(candidate_firstname,candidate_lastname);
我的主键是candidateid,并且具有以下属性。
test.xls包含如下数据。
我已经从candidateid 61开始添加行,因为在表格中已经有60个候选人。
请提出解决方案。
答案 0 :(得分:4)
将Excel电子表格导出为CSV格式。
使用与您当前尝试的命令类似的命令将CSV文件导入mysql:
LOAD DATA INFILE 'd:/test.csv'
INTO TABLE karmaasolutions.tbl_candidatedetail
(candidate_firstname,candidate_lastname);
答案 1 :(得分:1)
使用MySQL命令提示符中的LOAD DATA命令,从Excel(或任何其他可以生成文本文件的程序)导入数据非常简单。
将Excel数据另存为csv文件(在Excel 2007中使用“另存为”)检查 使用文本编辑器(如记事本)保存的文件,看看它是什么 实际看起来,即使用了什么分隔符等。启动MySQL 命令提示符(我很懒,所以我通常从MySQL查询中执行此操作 浏览器 - 工具 - MySQL命令行客户端,以避免必须输入 用户名和密码等。)输入以下命令:LOAD DATA LOCAL INFILE 'C:\ temp \ yourfile.csv'INTO TABLE database.table FIELDS TERMINATED BY';'包围'''由'\ r \ n'终止的行(field1,field2); [编辑:确保检查单引号(')和双引号(“) 如果你复制并粘贴这段代码 - 似乎WordPress正在改变它们 进入一些相似但不同的角色]完成!非常快 一旦你知道它就很简单:)
我自己导入的一些注释 - 如果您运行其他语言版本,MySQL版本,Excel版本等,可能不适用于您...
终止 - 这就是为什么我包含了第2步。我认为csv会默认以逗号分隔,但至少在我的情况下,分号是愚蠢的 封闭的 - 我的数据没有被任何东西包围,所以我把它留作空字符串“ LINES TERMINATED BY - 起初我只尝试'\ n'但是必须添加'\ r'来摆脱导入到数据库中的回车字符 另外请确保如果您没有导入主键字段/列,它已自动增加,则其他只会导入第一行