【问题标题】:Importing Excel Sheets into MySQL with Values that relate to a separate table使用与单独表相关的值将 Excel 表格导入 MySQL
【发布时间】:2012-11-10 13:00:14
【问题描述】:

首先,这可能是问这个问题的错误地方。所以,对此表示诚挚的歉意!

我有两个 MySQL 表如下:

第一个表:employee_data

id   name         address        phone_no

1    Mark         Some Street    647-981-1512

2    Adam         Some Street    647-981-1214

3    John         Some Street    647-981-1452

第二张表:employee_wages

id   employee_id         wages        start_date

1       3                $15          12 March 2007

2       1                $20          10 Oct 2008

3       2                $18          2 June 2006

我知道,这两个表可以合并为一个,无需将这些数据拆分为两个表。但是,我正在处理的工作要求这些数据是分开的,并且在两个不同的表中。

现在,以前我的公司过去常常在 Excel 表格中处理所有这些数据,他们遵循将这两个表格合并为一张表格的常规方法,如下所示:

Excel 表格

id   name           wages         start_date

1    Mark           $20           10 Oct 2008

2    Adam           $18           2 June 2006

3    John           $15           12 March 2007

现在,我们的目标是将数据从 Excel 表格导出到 MySQL 表格中。

如您所见,employee_data.id 与employee_wages.employee_id 相关联

如何替换 Excel 工作表“名称”列中的值,以便它们代表它们在employee_data.id 列中给出的实际唯一 ID..

也许我可以用 PHP/MySQL 来完成,或者我可以用 VB 脚本来完成。但是,我不是 VB 脚本方面的专家..

任何帮助将不胜感激..

谢谢!

【问题讨论】:

    标签: mysql excel csv


    【解决方案1】:

    将您的 Excel 数据保存为 csv 文件(在 Excel 2007 中使用另存为)

    使用记事本等文本编辑器检查保存的文件,看看它的实际外观,即使用的分隔符等。

    启动 MySQL 命令提示符(我很懒所以我通常从 MySQL 查询浏览器 - 工具 - MySQL 命令行客户端执行此操作,以避免输入用户名和密码等)

    输入这个命令:

    LOAD DATA LOCAL INFILE ‘C:\\temp\\yourfile.csv’ INTO TABLE database.table FIELDS TERMINATED BY ‘;’ ENCLOSED BY ‘”‘ LINES TERMINATED BY ‘\r\n’ (field1, field2);
    

    [编辑:如果您复制并粘贴此代码,请务必检查您的单引号 (') 和双引号 (") - 似乎 WordPress 正在将它们更改为一些相似但不同的字符] 完成!

    【讨论】:

      【解决方案2】:

      在 Excel 中使用 vlookup function

      1. 将数据导入excel
      2. 使用 vlookup 组合您需要的内容

      【讨论】:

      • 太棒了!像魅力一样工作。谢谢!
      【解决方案3】:

      可以从 Excel 查询 MySQL,本例使用 INSERT:Excel VBA: writing to mysql database

      可以使用 CopyRecordset 将记录集写入 Excel:http://support.microsoft.com/kb/246335

      【讨论】:

      • 你的手腕不会因为打字太多而受伤
      • 这似乎对我不起作用,因为我使用的是 PHP。无论如何,非常感谢您的帮助...Remou!非常感谢!:)
      • @Jasdeep Singh 我不懂PHP,但我注意到你可以连接到Access,Excel也可以用Jet引擎查询:stackoverflow.com/questions/114996/php-and-ms-access
      • 你的手腕不会因为打字太多而受伤
      • 你的手腕不会因为打字太多而受伤
      猜你喜欢
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多