将Excel数据导入MySQL的关系表

我的Excel工作簿有三个工作表。 每个工作表包含我的sql数据库的3个单独的表的数据。

表1 :Client_master :Id,Client_Name

表2 :compaign_master :Id,compaign_Name

表3 :raw_data :id,date,client_id,compaign_id,views,clicks。

通过使用下面的代码,我将excel数据插入到mysql表中。

use analyticsdata; DROP TABLE IF EXISTS excel_table; CREATE temporary TABLE excel_table ( id int, client_name VARCHAR(255) ) DEFAULT CHARSET utf8; LOAD DATA LOCAL INFILE 'C:/Users/puttaraju.d/Documents/data.csv' INTO TABLE excel_table CHARACTER SET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES; INSERT INTO client_master SELECT id, client_name FROM excel_table ORDER BY id; 

我如何读取和插入在表2和表3中的数据到其他表中。

在我看来,你有3个选项(2需要插件):

  1. 安装Excel MySQL插件http://www.mysql.com/why-mysql/windows/excel/

  2. 安装MySQL UDF插件http://www.mysqludf.org/编写一个用于转换Excel文件的shell脚本来分隔csv文件(例如,运行Excelmacros)并使用“sys_exec”SQL命令运行脚本

  3. 将所有三个表格合并到一个CSV中。 然后将file upload到一个临时表(例如varchar列),并将它们分开列标题。