通过使用union合并两个表来创建新表

时间:2012-02-15 11:17:27

标签: mysql

我有两个具有相同列的表。

我可以将它们与UNION

合并
select * from  table1
union
select * from table2;

如何创建一个与该查询具有相同内容和列的新表?

3 个答案:

答案 0 :(得分:18)

您可以使用CREATE TABLE ... SELECT声明。

CREATE TABLE new_table
  SELECT * FROM table1
    UNION
  SELECT * FROM table2;

答案 1 :(得分:1)

create table new_table as
select col1, col2 from table1 
union 
select col1, col2 from table2

确保从union中的表中选择相同的列集。

答案 2 :(得分:0)

甚至你可以明确定义create table(我们通常在我们的项目中使用)。

CREATE TABLE IF NOT NOT IQISTS auditlog(

user_id varchar(30)NOT NULL default'',

user_ip varchar(255)NOT NULL default'',

........ ........

KEY ie1(user_id))

union =(auditlog_2,auditlog_3,auditlog_4)engine = merge insert_method = last;