it-swarm.cn

如何将数据从一个表复制到MySQL中的另一个新表?

我想在MySQL中将数据从一个表复制到另一个表。

表1(现有表):

aid    
st_id
from_uid
to_gid
to_uid
created
changed
subject
message
link

表2(新表)

st_id
uid
changed
status
assign_status

我想将表1中的一些数据字段复制到表2中。

可以使用MySQL查询完成吗?

129
Fero

这将做你想要的:

INSERT INTO table2 (st_id,uid,changed,status,assign_status)
SELECT st_id,from_uid,now(),'Pending','Assigned'
FROM table1

如果要包含table1中的所有行。否则,如果只想添加table1的子集,则可以在末尾添加WHERE语句。

我希望这有帮助。

245
jdias

如果您不想列出字段,并且表的结构相同,您可以执行以下操作:

INSERT INTO `table2` SELECT * FROM `table1`;

或者如果要创建具有相同结构的新表:

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;

插入选择参考 ; 创建表选择参考

58
Bryan

您可以轻松地从另一个表中获取数据。您只需要添加所需的字段。

Mysql查询是:

INSERT INTO table_name1(fields you want)
  SELECT fields you want FROM table_name2


其中,值从table2复制到table1

20
php
CREATE TABLE newTable LIKE oldTable;

然后,复制数据

INSERT INTO newTable SELECT * FROM oldTable;
4
Seymur Asadov

最好的选择是在mysql中使用INSERT ... SELECT语句。

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

4
dexter.ba
SELECT *
INTO newtable [IN externaldb]
FROM table1;

http://www.w3schools.com/sql/sql_select_into.asp

3
mikey
INSERT INTO Table1(Column1,Column2..) SELECT Column1,Column2.. FROM Table2 [WHERE <condition>]
2
Nana Partykar

您可以尝试此代码

insert into #temp 
select Product_ID,Max(Grand_Total) AS 'Sales_Amt', Max(Rec_Amount) ,'',''
from Table_Name group by Id
0
Biddut

你应该先创建table2。

插入table2(field1,field2,...)
 select table1,field2,.... 
来自table1 
 where condition; 
0
Sriyashree Swain

如果表存在。你可以尝试插入table_name select * from old_tale;

如果表不存在。你应该尝试像old_table一样创建table table_name; insert into table_name select * from old_tale;

0
Jac Tian

只有在我们创建了具有客户匹配列的客户表时,上述查询才有效

INSERT INTO clients(c_id,name,address)SELECT c_id,name,address FROM customer
0
Qanuni