MYSQL,将所选字段从一个表复制到另一个表

MYSQL,将所选字段从一个表复制到另一个表,mysql,mysql-workbench,Mysql,Mysql Workbench,在MySQL中,如何将包含所有记录的字段从表1复制到表2,该字段对应于主键,即:EMPLOYEE no.?试试这个 INSERT INTO `table2` (`field_name2`) SELECT `field_name` FROM `table1` 如果您的意思是要使用另一个表的列更新一个表的列,则以下是一些选项: 加入: UPDATE table1 AS t1 INNER JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo SET

在MySQL中,如何将包含所有记录的字段从表1复制到表2,该字段对应于主键,即:EMPLOYEE no.?

试试这个

INSERT INTO `table2` (`field_name2`) SELECT `field_name` FROM `table1`
如果您的意思是要使用另一个表的列更新一个表的列,则以下是一些选项:

加入:

UPDATE table1 AS t1
  INNER JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo
SET t1.SomeColumn = t2.SomeColumn
或者,它可以是左连接:

UPDATE table1 AS t1
  LEFT JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo
SET t1.SomeColumn = t2.SomeColumn
这将本质上为空,并将不匹配的值设置为NULL

子查询:

UPDATE table1
SET SomeColumn = (
  SELECT SomeColumn
  FROM table2
  WHERE EmployeeNo = table1.EmployeeNo
)
这相当于1中的左连接解决方案


注意,在所有情况下,假设表1中的一行与表2中的一行不匹配。

将数据从一个表复制到另一个表的查询是:

若要仅复制选定的值,请在查询中使用where子句


您可以使用它将表1中的所有记录复制到表2中,并附带一个条件

Insert into table2  select  * from table1 where field1=condition

插入表1第1列第2列,从表2中选择第1列第2列

插入Delivery DeliveredDate、appid、DownloadSize、UploadSize从Delivery\u摘要中选择Delivery、appid、DownloadSize、UploadSize

假设表结构如下所示

表A-Col1、Col2、Col3 表B-Col1、Col2、Col3

不需要选择表的所有列,就可以将数据从一个表传输到同一数据库中的另一个表。 您可以将插入行从表A复制到表B

代码如下—

Insert into TableB (Col1, Col2 ,Col3)
Select Col1, Col2 ,Col3 from TableA
你也可以这样做-

Insert into TableB (Col1, Col2, Col3) 
Select * from TableA
这两个代码都有效,您需要查看您的需求

通用代码-

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
如果需要,可以添加“Where”条件


谢谢你

表中的字段是什么?到目前为止,您尝试了什么?是否尝试执行SELECT INTO语句?这将插入表1到表2的所有数据。鉴于这是公认的答案,我将假设OP发布了错误的问题。请确保您在运行此查询之前完全理解此查询的功能,即插入新记录-它不会更新现有记录对应于主键,这是OP所要求的。如果您不确定自己是否理解,请在运行之前备份数据。这个问题已经得到了很多答案。请将您的答案与其他答案进行比较,并尝试查看您的答案是否提供了新的内容。如果是,请解释原因,因为这并不明显me@K.Salabir欢迎来到社区,感谢您提供了答案。t1和t2在这个等式中是什么意思?@Eoin它们被称为表别名,用于简化表的名称。这样你就可以少打字了。您还可以添加AS=>将表1更新为t1…很好!此外,它在没有where t1.whater=t2.whater过滤器的情况下运行良好。仅代码的答案质量不高。更好的答案是解释代码的作用以及如何解决问题。请注意,表1中的列顺序必须与表2中的列顺序完全匹配。
Insert into TableB (Col1, Col2 ,Col3)
Select Col1, Col2 ,Col3 from TableA
Insert into TableB (Col1, Col2, Col3) 
Select * from TableA
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;