본문 바로가기
Database

SQLyog 데이터(csv) 가져오기

by BTC_아리 2023. 5. 24.

베하!

여러분 안녕하세요!

오늘은 MySQL용 GUI도구인 SQLyog를 사용할거예요.

데이터베이스에 데이터를 하나 혹은 두세개 추가하는 것은 어렵지 않아요.

INSERT 문을 사용하면 됩니다.

하지만 데이터베이스에 추가해야 할 데이터가 몇백개 더 나아가 몇십만개라면 INSERT문을 사용하는 것에 한계가 있겠죠.

이번 시간에는 csv파일로 존재하는 데이터를 간편하게 데이터를 추가하는 방법을 알아볼게요.


환경 변수 설정

sqlyog는 기본적으로 파일에서 데이터를 가져오는 import 기능이 꺼져있습니다.

그래서 꺼져있는 기능을 켜줘야 합니다.

 

확인하기

SHOW GLOBAL VARIABLES LIKE 'local_infile';

 

설정 바꾸기

SET GLOBAL local_infile=1;

 

다시 확인하면 아래와 같이 local_infile이 활성화된 것을 알 수 있습니다.

 

csv 파일 import 하기

과정을 설명드리기 위해 간단한 데이터 파일과 테이블을 만들었습니다.

 

데이터 (csv 파일)

 

테이블

 

테이블에 데이터를 넣어보겠습니다.

데이터를 넣고싶은 테이블에서 마우스 우클릭 - Import - Import CSV Data Using … 을 눌러줍니다.

 

그럼 팝업창이 뜹니다.

여기서 데이터를 넣고 싶은 테이블, 컬럼을 확인할 수 있습니다.

Import from file에 데이터가 들어있는 csv 파일을 선택하시고, Charset은 데이터에 맞게 설정해 줍니다. 저희는 데이터에 한글이 포함되어 utf8로 선택했어요.

Terminated by는 칼럼을 구분하는 기준입니다. csv 파일에서 ,(comma)를 통해 칼럼을 구분하고 있으므로 change 버튼을 누르고 ,(comma)를 지정해줍니다.

마지막으로 csv 파일의 첫번째 줄은 필요없으므로 Ignore 지정을 해주고 Import 해줍니다.

 

Import 결과를 통해 추가된 레코드를 갯수를 확인할 수 있습니다.

 

SELECT문을 통해 테이블을 확인해보니, 데이터가 잘 들어간 것을 확인할 수 있습니다.


트러블슈팅

Import하는 과정에서 다음과 같은 에러를 만날 수 있어요.

 

Import할 때 인코딩 방식을 utf8로 지정했는데, 파일의 인코딩 방식이 달라서 뜨는 에러입니다.

따라서 csv 파일을 인코딩 UTF8로 다시 저장하면 해결됩니다.

 


그럼 다음시간에 만나요 안녕!

'Database' 카테고리의 다른 글

[Airflow] Airflow Xcom과 Trigger  (0) 2023.05.26
[SQL] MySQL Window 함수 rank() over 대체하기  (0) 2023.05.25
MySQL CRUD 권한 설정  (0) 2023.05.23
Airflow Executor  (0) 2023.05.23
Airflow Operator와 Task  (0) 2023.05.19

댓글