如何在SQL中从两个表中生成一个表

如何在SQL中从两个表中生成一个表,sql,csv,phpmyadmin,Sql,Csv,Phpmyadmin,我在MySQL中有两个表,我想把它们合并成一个大表。两个表具有完全相同的列(一个主索引id列和一个snippet列,该列是字符串),但数据不同。它们是从不同的.csv文件加载的,因为当不分割文件时,文件太大,无法一次性上传到phpMyAdmin 现在,我想把这两张表合并成一张 到目前为止,我能找到的关于StackOverflow的所有问题都是关于想要合并两个表的结果 例如:将一些数据从一个表映射到另一个表。但我想物理合并这两个表,以便将它们存储为一个SQL表 如何做到这一点?给你举个例子 CRE

我在MySQL中有两个表,我想把它们合并成一个大表。两个表具有完全相同的列(一个主索引
id
列和一个
snippet
列,该列是字符串),但数据不同。它们是从不同的.csv文件加载的,因为当不分割文件时,文件太大,无法一次性上传到phpMyAdmin

现在,我想把这两张表合并成一张

到目前为止,我能找到的关于StackOverflow的所有问题都是关于想要合并两个表的结果

例如:将一些数据从一个表映射到另一个表。但我想物理合并这两个表,以便将它们存储为一个SQL表

如何做到这一点?

给你举个例子

CREATE TABLE new_table
  AS (SELECT * FROM first UNION ALL SELECT * FROM second);
给你举个例子

CREATE TABLE new_table
  AS (SELECT * FROM first UNION ALL SELECT * FROM second);

我建议您将第二个表插入第一个表:

insert into first
    select * from second;
这允许您保留关于第一个表的辅助信息,例如主键定义、索引、触发器和外键关系

您可以通过以下方式执行类似操作:

create table newtable like first;

insert into newtable
    select * from first;

insert into newstable
    select * from second;
注意:通常我建议在使用
insert
时使用列列表,但是如果这两个表的格式确实完全相同,那么这应该是可行的


还要注意,两个表中主键之间的冲突可能会导致这些方法失败。

我建议您只需将第二个表插入第一个表中:

insert into first
    select * from second;
这允许您保留关于第一个表的辅助信息,例如主键定义、索引、触发器和外键关系

您可以通过以下方式执行类似操作:

create table newtable like first;

insert into newtable
    select * from first;

insert into newstable
    select * from second;
注意:通常我建议在使用
insert
时使用列列表,但是如果这两个表的格式确实完全相同,那么这应该是可行的


还要注意,两个表中主键之间的冲突可能会导致这些方法失败。

只要我去掉括号,这个解决方案就起作用了。但这可能只是SQL版本之间的差异。(我不明白为什么括号会使它失效)。谢谢我一拆下支架,这个解决方案就奏效了。但这可能只是SQL版本之间的差异。(我不明白为什么括号会使它失效)。谢谢