将excel数据拆分为多个mysql表

时间:2010-01-28 15:17:51

标签: mysql

基本上我从一个带有时间表的旧系统中导出。

每条简化它的行都有员工姓名,描述和时间。

我在Excel中的excel行时间表中有成千上万的这些。我想把它们分成两个表

员工和时间表

当然,员工姓名会重复多次,但我希望只在员工表中拥有独特的员工,例如30名员工,但10,000次表格

这是一项一次性的任务,如果需要的话,我可以使用PHP,但我可以通过一种明智的方式来实现这一目标。

我有一些自己的想法,但我很想知道你会采取什么方式。

注意:表的数量实际上有很多复杂性,但通过有效地解决上述示例,它可以解决更复杂的例子,其中客户,项目,任务等都包含在每一行中。

2 个答案:

答案 0 :(得分:1)

我几乎总是用excel中的CONCATENATE来解决这种类型的(一次性)问题并构建一个.sql命令文件。在数据之后的列中我构建了其中一些...

=CONCATENATE("insert into tableA (col1,col2,col3) values ('",A3,"','",A4,"','",A5,"');")

将语句复制/粘贴到文本文件中并保存为mysqlfile.sql(或其他)。然后插入到数据库中(假设已存在数据库表)

mysql -umyname -p -hmyhost.com mydatabasename < mysqlfile.sql

它有点像hacky,但它可以很快地用于此类事情。

答案 1 :(得分:0)

好旧的复制/粘贴/宏。我通常使用EditPlus来完成这类工作。它将宏击键记录到快捷键,如Alt-1。因此,我只需将所有内容复制/粘贴到editplus中,并为第一行录制“REPLACE INTO ...”,然后将其重复用于文件的其余部分。粘贴它作为查询。除非你有数百万行,否则无法工作。

注意:更换。使用员工作为关键字来定义您的表格,每个员工都是独一无二的,并且没有错误。