如何将表拆分为多个表

时间:2017-01-13 13:24:06

标签: mysql sql split

我想将当前的HUGE表分成多个表。应根据特定字段中的条目对新表进行拆分。

E.g。如果该字段为性别,每个记录选择为男性和女性,则id为两个表,一个为男性,另一个为女性。

Old table:
Gender   First Name     Last Name   
Male     John           Smith
Female   Sally          Smith 


New tables:
Name: Male
Gender   First Name     Last Name   
Male     John           Smith

Name: Female
Gender   First Name     Last Name   
Female   Sally          Smith

除了田地是城市。不是在代码中单独命名每个城市,而是像所有相同的城市一样被挑选并分组到单个表中。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

首先查询:

Insert into Table2 select * from Table1 where gender = 'female'

第二次查询:

Delete from Table1 where gender = 'female'

无论如何,我会做一些研究来了解你的案例是否真的需要表拆分,或者它是否只是增加了数据库结构(和相对代码)的复杂性

答案 1 :(得分:0)

您可以使用分区来完成所要求的内容。由于您使用的是MySQL,因此需要特别检查列表分区,因为它会根据指定的值对表进行分区。您仍然可以使用相同的查询,但数据库将自动使用基础正确的分区。