使用CSV文件更新MySQL表

时间:2012-06-13 16:26:41

标签: php mysql csv

my Current MySQL table employee_data有13k行,有17列。表格中的数据来自CSV文件Employees.csv。导入我的csv数据后,我添加了一个新列'密码'(因此它不在csv文件中)密码是通过门户网站编辑和访问的。我现在有一个更新的csv文件,我想用这些数据更新我的主表,但我不想丢失我的密码信息。

我应该将新的CSV文件导入数据库中的临时表,还有一些如何比较它们?我不知道从哪里开始,我愿意接受建议。

我现在意识到我应该将密码信息保存在单独的表格中。哇!

我想我可以创建一个php文件,根据employee_id字段比较每一行但是有13k行,恐怕可能超时。

2 个答案:

答案 0 :(得分:9)

我会这样做:

  • 使用CREATE TABLE new_tbl LIKE orig_tbl;语法
  • 创建temp table
  • 使用LOAD DATA INFILE将CSV中的数据导入表格
  • 使用UPDATE使用主键/唯一列(可能是employee_id)更新主表

我使用了包含1.2亿行的表格和导入的包含3000万行的CSV文件 - 这是我一直使用的方法 - 比PHP中的任何东西都高效(这就是我选择的服务器端语言) )

答案 1 :(得分:1)

尝试除基于php的其他工具 phpMyAdmin MySQL workbench是一个很棒的工具, 根据您的连接,使用您的数据查询数据库需要一段时间。
有超时限制的解决方法, set_time_limit();