mysql将多个现有表连接成一个新表

时间:2013-04-27 20:40:16

标签: mysql

我做了一些研究但是我发现的所有例子看起来都太复杂了,因为我想做什么。我按年份有多个归档数据表(例如archive_2013,archive_2012等),并希望创建一个新的主表(archive_master),其中包含来自所有表的所有数据。这些表没有键,只有2列,一个是varchar(120),另一个是char(20)。我希望这和我想的一样简单直接。

3 个答案:

答案 0 :(得分:1)

一个简单的UNION可以解决这个问题:

SELECT col1, col2
FROM archive_2013
UNION ALL
SELECT col1, col2
FROM archive_2012

将它与INSERT结合起来就完成了:

INSERT INTO full_archive
SELECT col1, col2
FROM archive_2013
UNION ALL
SELECT col1, col2
FROM archive_2012

答案 1 :(得分:0)

INSERT INTO archive_master VALUES(SELECT * FROM archive_2013);

答案 2 :(得分:0)

所以你想创建一个新表吗?

您可以使用简单的INSERT INTO和SELECT

请参阅:

使用SELECT创建表

http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html

使用SELECT

插入表格

http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

实施例

您可以创建一个新表:

create table 'xyz' select * from archive_2010;
insert into xyz select * from archive_2011;