Dong Log

[mysql] 여러행 select 결과를 insert 하기 본문

Dev./database

[mysql] 여러행 select 결과를 insert 하기

디이오 2021. 3. 10. 14:23

 

같은 MYSQL의 데이터베이스에서 일부 테이블의 데이터를 검색 후에 다른 데이터베이스 테이블에 INSERT 하고 싶은 부분이 생길 수 있다.

나같은 경우는 회사 사내 DB(데이터베이스)에서 일부 데이터를 빈번히 재사용하고 있는데, 위와 같은 경우가 간혹 생기곤한다.

 

특정 데이터를 JOIN하여 가져온다던가 CRON을 통해 데이터 동기화를 시키고 싶다던가 하는 예이다.

 

기본적으로 여러 INSERT를 하기 위해서는 아래와 같이 SQL을 작성한다. (링크)

 

INSERT INTO test_tbl(NAME)
VALUES ('운영자5'), ('운영자6'), ('운영자7');

 

일부 테이블의 데이터를 검색 후에(SELECT) 다른 데이터베이스 테이블에 INSERT하는 방식은 VALUES 부터 바꿔주면 된다.

 

INSERT INTO test_tbl(name)
SELECT name FROM test_tbl2
WHERE NAME = "검색할 키워드"

 

한가지 주의할점은 'name' 과 같은 칼럼 부분인데, INSERT할 칼럼이름과 SELECT할 칼럼 이름이 같아야한다는 것이다.

 

반응형
Comments