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