다른 테이블의 데이터를 특정 테이블로 가져오기

김종완·2023년 1월 24일
0

이번에 비사이드 프로젝트를 진행하면서 학교 정보를 수집할 필요가 있었다. 학교 정보를 통해서 각각의 학교 동창들과 만나게 할 수 있는 기능을 제공하기 위해서 학교 정보 csv 파일을 인터넷을 통해 구했다. 처음에는 csv로 추출해야 되겠다 생각을 했지만 csv 파일로 완성 되어 있어서 편리하게 사용할 수 있었다. DBeaver를 이용해서 csv 파일을 통해 데이터를 테이블로 가져오는데 성공하였다. 하지만 테이블 명은 모두 한글이며 불필요한 정보가 많이 포함되어 있는 테이블 이였다. 처음에는 해당 테이블 컬럼 명을 변경하고 불필요한 테이블을 제거하여 해당 테이블을 직접 사용하려고 하였다. 하지만 좀 더 편리한 방법이 있을까 고민하던 중 이미 사용 중인 테이블에 해당 데이터들의 값을 가져오면 안될까 하여 방법을 찾아보던 중 아래 방법을 찾게 되었다.

아래와 같은 문법을 사용해서 school_csv 테이블의 도로명주소, 설립일자, 표준학교코드, 학교명 정보를 address, establish_date, school_code, school_name 컬럼에 데이터를 넣어서 school 테이블로 데이터를 이동하려 시도하였다.

insert into school

(address, establish_date, school_code, school_name)

select 도로명주소, 설립일자, 표준학교코드, 학교명

from school_scv

결과는 성공적 이였다. 처음에 표준학교코드가 중복되는 열이 존재해서 다른 방법을 찾아야 될까 생각했다. 하지만 3개의 중복되는 컬럼을 제거하고 시도해보니 클린하게 성공하였다.

앞으로도 위와 같은 방식을 사용해서 데이터를 다른 테이블로 이동해야 되겠다.

profile
개발에 재미를 느끼며 꾸준히 성장하는 개발자 김종완 입니다.

0개의 댓글