我是SQL新手,我有一堆表test1 test2 test3 ---- test100。这些表是每天创建的,具有相同的列/格式。我想创建一个应该有1个月过去数据的表,换句话说,我必须将test1-test30组合到一个表中。我只能想到下面的代码,但我正在寻找一些有效且易于使用的东西,比如使用循环或条件......或者其他方式
create table final as
select * from test1;
insert into final from test2
insert into final from test3
.
.
insert into final from test30..
您能否建议我使用更简单的方法来代替使用30个插入语句
答案 0 :(得分:0)
以下是一个例子:
将所有列从一个表复制到另一个表:
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
仅将一个表中的某些列复制到另一个表中:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
另一个解决方案是从所有数据库转储数据,如果它有相同的表,然后将其插入.csv或txt文件并将其导入最终表。
Mysql -u [username] -p [database_name] < /path/to/file.[extention]