[MySQL] csv 파일을 직접 MySQL 테이블로 Import 하는 방법 (대용량 파일 import 팁)

· 2015-10-03 (토) 02:54:54 · 6182

MySQL 테이블에 데이터를 넣는 방법 중 csv 파일을 직접 넣는 방법이 있다.

 

csv 파일과 DB 테이블 구조가 일치하면 아래와 같이 입력하면 된다.

 

LOAD DATA LOCAL INFILE "filePath"

INTO TABLE dbName.tableName FIELDS TERMINATED BY ",";

 

 

만약 파일의 크기가 크고 테이블에 index가 걸려 있으면 시간이 굉장히 오래 걸릴 수 있다.

그럴 경우에는 아래와 같이 index를 먼저 해제해 주고 파일을 올린 다음 다시 index를 걸면 상당히 빠르게 테이블에 데이터를 넣을 수 있다.

 

 

ALTER TABLE dbName.tableName DISABLE KEYS;

LOAD DATA local INFILE "filePath"

INTO TABLE dbName.tableName FIELDS TERMINATED BY ",";

ALTER TABLE dbName.tableName ENABLE KEYS;

 

대략 2GB 정도 되는 파일도 10분 정도로 import가 완료됐다.

 

 

만약 csv 파일 구조와 DB 테이블 구조가 다른 경우는 아래 샘플 sql 문 참조해서 import 한다.

 

 

 

LOAD DATA LOCAL INFILE 'file_name'

INTO TABLE table_name

FIELDS TERMINATED BY ','

ENCLOSED BY '"'

LINES TERMINATED BY '\n'

(column1,column2,column3, ...);

|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
기타 15-10-05 조회 2,989
기타 15-10-04 조회 3,158
기타 15-10-04 조회 3,448
기타 15-10-04 조회 3,316
MySQL 15-10-03 조회 6,183
MySQL 15-10-03 조회 4,797
jQuery 15-10-02 조회 3,583
웹서버 15-10-02 조회 4,882
MySQL 15-10-02 조회 3,049
기타 15-10-01 조회 3,122
웹서버 15-10-01 조회 3,651
웹서버 15-10-01 조회 3,117
웹서버 15-10-01 조회 3,631
웹서버 15-10-01 조회 4,629
MySQL 15-09-30 조회 2,799
MySQL 15-09-30 조회 3,709
MySQL 15-09-30 조회 5,656
MySQL 15-09-30 조회 5,270
MySQL 15-09-24 조회 3,378
MySQL 15-09-24 조회 3,105
기타 15-09-24 조회 6,021
MySQL 15-09-23 조회 3,904
MySQL 15-09-23 조회 3,304
기타 15-09-23 조회 3,038
웹서버 15-09-23 조회 3,230
MySQL 15-09-23 조회 4,166
MySQL 15-09-23 조회 3,365
기타 15-09-21 조회 3,632
MySQL 15-09-21 조회 3,385
MySQL 15-09-21 조회 3,142