programing

MYSQL, 선택한 필드를 한 테이블에서 다른 테이블로 복사

subpage 2023. 8. 7. 22:33
반응형

MYSQL, 선택한 필드를 한 테이블에서 다른 테이블로 복사

MySQL에서 모든 레코드가 있는 필드를 복사하는 방법TABLE1로.TABLE2이는 기본 키에 해당합니다.EMPLOYEE no.?

다른 테이블의 열을 사용하여 한 테이블의 열을 업데이트하려는 경우 다음과 같은 옵션이 있습니다.

  1. 조인:

    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로 설정됨).

  2. 하위 쿼리:

    UPDATE table1
    SET SomeColumn = (
      SELECT SomeColumn
      FROM table2
      WHERE EmployeeNo = table1.EmployeeNo
    )
    

    이는 #1의 왼쪽 조인 솔루션에 해당합니다.

모든 경우에 다음과 같은 행이 있다고 가정합니다.table1에서 하나 이상의 행과 일치할 수 없습니다.table2.

사용해 보세요.

INSERT INTO `table2` (`field_name2`) SELECT `field_name` FROM `table1`

한 테이블에서 다른 테이블로 데이터를 복사하기 위한 쿼리는 다음과 같습니다.

INSERT INTO `table2` (`field1`, `field2`)
    SELECT `field1`, `field2` FROM `table1`

선택한 값만 복사하려면 쿼리에서 where 절을 사용합니다.

INSERT INTO `table2` (`field1`, `field2`)
    SELECT `field1`, `field2` FROM `table1`
    WHERE `field1` = condition
update
  table1 t1
  join table2 t2 on t2.field = t1.field
set
  t1.field1 = t2.matchingfield
where
  t1.whatever = t2.whatever

이를 사용하여 모든 레코드를 복사할 수 있습니다.table1안으로table2조건부로

Insert into table2  select  * from table1 where field1=condition

표 구조가 다음과 같다고 가정합니다.

표 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;

필요한 경우 '위치' 조건을 추가할 수 있습니다.

감사합니다!!!

삽입 위치table_1(column-1,column-2) table_2에서 column-1, column-2를 선택합니다;

Insert into Delivery (DeliveredDate, appid, DownloadSize, UploadSize) select Delivered, Appid, DownloadSize,UploadSize from Delivery_Summary;

언급URL : https://stackoverflow.com/questions/11168402/mysql-copy-selected-fields-from-one-table-to-another

반응형