2013-12-14 41 views
1

我有一个csv文件,我需要导入到MySQL数据库。将csv导入到mysql,然后创建多个表

我需要将数据拆分为多个表。一个例子是它将包含预订和联系表。基本上csv目前已经获得了一行数据。

所以我想先导入到一个表中,然后递归地遍历每个表并创建相关的表。

想知道人们对这个过程是否有其他想法?

任何提示将是伟大的。

干杯

+0

听起来不错。我想你可以继续如下:(A)按照你所描述的从csv导入临时表,(B)使用“create table as select ... from initial_table”从初始表创建派生表...哪里......“。但我不认为有任何递归的必要。 – user152468

回答

0

根据您谈论的表格数量,我会说您正处在正确的轨道上。

您可以将数据导入到一个表RawData中。

然后只需运行一些使表sql语句的数据。 INSERT INTO new_contact_table(id,firstname,lastname)SELECT DISTINCT contact_id,contact_firstname,contact_lastname FROM RawData;

然后对预订数据做同样的事情。

然后创建第三个表格,以一对多或多对多的方式链接前两个表格。

+0

对于一对多关系,不需要第三个表。外键就足够了。 – user152468

+0

@ user152468是正确的。如果每个预订只有一个联系人,预订表可以简单地为联系人设置一个外键。如果您先创建联系人表格,那么当您插入预订表格时,您可以根据已经创建的联系人表格选择识别联系人信息,以将联系人ID放入预订表格中。 – turkeyhundt