如何将数据从一个表复制到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查询来完成吗?

这将做你想要的:

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

如果你想包含table1的所有行。 否则,如果只想添加table1的子集,则可以将WHERE语句添加到最后。

我希望这有帮助。

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

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

或者如果你想创build一个具有相同结构的新表:

 CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl; 

插入select参考 参考create table select

你可以很容易地从另一个表中获取数据。 你只需要添加字段。

mysql的查询是:

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

其中,值从表2复制到表1

最好的select是在mysql中使用INSERT … SELECT语句。

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

 SELECT * INTO newtable [IN externaldb] FROM table1; 

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

 INSERT INTO Table1(Column1,Column2..) SELECT Column1,Column2.. FROM Table2 [WHERE <condition>] 
 CREATE TABLE newTable LIKE oldTable; 

然后,复制数据

 INSERT INTO newTable SELECT * FROM oldTable; 

INSERT INTO客户端(c_id,名称,地址)SELECT c_id,名称,地址FROM客户上述查询只适用于我们创build客户表与客户的匹配列