SQL追加具有完全相同的列但ID不同的表

SQL追加具有完全相同的列但ID不同的表,sql,sqlite,Sql,Sqlite,假设我有数千个表,每个表有1050列,都在一个DB中。是否有SQL命令将一个DB中的所有表追加到一个文件中,并删除原始表(追加前) 即 myDB包含表1、表2、表3所有不同的行数,但在IDs列中有相同的列名、相同的列类型和不同的唯一ID table1 myids,v1,v2,v3 id1,20.3,1.2,3.4 id10,2.1,5.2,9.3 id21,20.5,1.2,8.4 table2 myids,v1,v2,v3 id2,20.3,1.2,3.4 id92,2.1,5.2,9.3 t

假设我有数千个表,每个表有1050列,都在一个DB中。是否有SQL命令将一个DB中的所有表追加到一个文件中,并删除原始表(追加前)

myDB包含表1、表2、表3所有不同的行数,但在IDs列中有相同的列名、相同的列类型和不同的唯一ID

table1
myids,v1,v2,v3
id1,20.3,1.2,3.4
id10,2.1,5.2,9.3
id21,20.5,1.2,8.4
table2
myids,v1,v2,v3
id2,20.3,1.2,3.4
id92,2.1,5.2,9.3
table3
myids,v1,v2,v3
id3,1.3,2.2,5.4
id30,9.1,4.4,9.3
真正的例子几乎相同,但是有更多的列和行

现在,我希望数据库中的新表(也是唯一索引的):

我想把表1,表2,表3从数据库中删除

作为参考,我使用SQLite3

insert into mysupertable (myids,v1,v2,v3)
select myids,v1,v2,v3 
from table1
一遍又一遍

等等

然而,由于有数千张桌子,进行联合将是昂贵的。最好使用一系列插入:

CREATE TABLE mysupertable AS
SELECT * FROM table1;
DROP TABLE table1;

INSERT INTO mysupertable
SELECT * FROM table2;
DROP TABLE table2;

INSERT INTO mysupertable
SELECT * FROM table3;
DROP TABLE table3;
...

看起来不错,那会抹掉原稿,或者我不得不放下表格1,放下表格2,等等。什么是最好的索引它在每个系列,或索引它在最后?我想为ID列创建一个唯一的索引。最好在末尾对其进行索引。
insert into mysupertable (myids,v1,v2,v3)
select myids,v1,v2,v3 
from table1
union
select myids,v1,v2,v3 
from table2
CREATE TABLE mysupertable AS
SELECT * FROM table1
UNION 
SELECT * FROM table2
UNION
SELECT * FROM table3;

DROP TABLE table1;
DROP TABLE table2;
DROP TABLE table3;
CREATE TABLE mysupertable AS
SELECT * FROM table1;
DROP TABLE table1;

INSERT INTO mysupertable
SELECT * FROM table2;
DROP TABLE table2;

INSERT INTO mysupertable
SELECT * FROM table3;
DROP TABLE table3;
...