我的excel工作簿有三个工作表。每个工作表包含我的sql数据库的3个单独表的数据。
表1 :Client_master 列:Id,Client_Name
表2 :compaign_master 列:Id,compign_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中的数据到其他表。
答案 0 :(得分:1)
在我看来,你有3个选项(2个需要插件):
安装Excel MySQL插件http://www.mysql.com/why-mysql/windows/excel/
安装MySQL UDF插件http://www.mysqludf.org/编写一个shell脚本,用于将Excel文件转换为单独的csv文件(例如运行Excel宏)并使用 " sys_exec" SQL命令
将所有三个表加入一个CSV。然后将文件上传到临时表(例如,使用varchar列)并将其分隔在列标题上。