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

· 10년 전 · 1487

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, ...);

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

프로그램

+
제목 글쓴이 날짜 조회
10년 전 조회 1,081
10년 전 조회 1,621
10년 전 조회 1,025
10년 전 조회 1,090
10년 전 조회 1,089
10년 전 조회 1,994
10년 전 조회 1,120
10년 전 조회 993
10년 전 조회 1,110
10년 전 조회 1,138
10년 전 조회 1,241
10년 전 조회 1,008
10년 전 조회 1,091
10년 전 조회 1,429
10년 전 조회 1,388
10년 전 조회 1,374
10년 전 조회 911
10년 전 조회 1,015
10년 전 조회 997
10년 전 조회 937
10년 전 조회 1,156
10년 전 조회 942
10년 전 조회 1,265
10년 전 조회 921
10년 전 조회 1,247
10년 전 조회 938
10년 전 조회 1,179
10년 전 조회 1,741
10년 전 조회 1,073
10년 전 조회 1,127
10년 전 조회 942
10년 전 조회 2,036
10년 전 조회 1,659
10년 전 조회 1,257
10년 전 조회 1,185
10년 전 조회 968
10년 전 조회 1,093
10년 전 조회 1,811
10년 전 조회 1,838
10년 전 조회 2,497
10년 전 조회 1,680
10년 전 조회 1,469
10년 전 조회 1,989
10년 전 조회 1,101
10년 전 조회 1,059
10년 전 조회 1,051
10년 전 조회 1,063
10년 전 조회 1,136
10년 전 조회 1,250
10년 전 조회 1,488
10년 전 조회 1,013
10년 전 조회 1,514
10년 전 조회 1,549
10년 전 조회 1,207
10년 전 조회 1,095
10년 전 조회 1,091
10년 전 조회 1,111
10년 전 조회 1,087
10년 전 조회 1,092
10년 전 조회 1,435
10년 전 조회 1,031
10년 전 조회 1,101
10년 전 조회 1,279
10년 전 조회 1,177
10년 전 조회 1,905
10년 전 조회 1,740
10년 전 조회 1,171
10년 전 조회 1,109
10년 전 조회 1,421
10년 전 조회 1,164
10년 전 조회 1,053
10년 전 조회 1,127
10년 전 조회 1,080
10년 전 조회 1,095
10년 전 조회 1,041
10년 전 조회 1,285
10년 전 조회 3,182
10년 전 조회 1,281
10년 전 조회 1,007
10년 전 조회 1,056
10년 전 조회 1,078
10년 전 조회 2,407
10년 전 조회 2,293
10년 전 조회 1,710
10년 전 조회 2,005
10년 전 조회 2,130
10년 전 조회 2,094
10년 전 조회 1,454
10년 전 조회 1,175
10년 전 조회 1,715
10년 전 조회 1,242
10년 전 조회 1,007
10년 전 조회 1,308
10년 전 조회 2,010
10년 전 조회 1,687
10년 전 조회 1,128
10년 전 조회 1,719
10년 전 조회 5,718
10년 전 조회 1,230
10년 전 조회 2,312