728x90
MySQL 테이블에 데이터를 넣는 방법 중 csv 파일을 직접 넣는 방법이 있다.
csv 파일과 DB 테이블 구조가 일치하면 아래와 같이 입력하면 된다.
1 2 | LOAD DATA LOCAL INFILE "filePath" INTO TABLE dbName.tableName FIELDS TERMINATED BY "," ; |
만약 파일의 크기가 크고 테이블에 index가 걸려 있으면 시간이 굉장히 오래 걸릴 수 있다.
그럴 경우에는 아래와 같이 index를 먼저 해제해 주고 파일을 올린 다음 다시 index를 걸면 상당히 빠르게 테이블에 데이터를 넣을 수 있다.
1 2 3 4 | 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 한다.
1 2 3 4 5 6 | LOAD DATA LOCAL INFILE 'file_name' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (column1,column2,column3, ...);
|
LOAD DATA LOCAL INFILE "c:\\zipcode2014.cvs"
INTO TABLE onepageportfolio.adress FIELDS TERMINATED BY "," optionally enclosed by '"' lines terminated by
'\n';
'프로그래밍 > MySQL' 카테고리의 다른 글
DB ConnectPool 쉬운 사용방법 java 파일 ( pool ) (0) | 2014.10.02 |
---|---|
MySQL 사용자 관리 명령어 (0) | 2014.09.14 |
[스크랩]윈도우 에서 mysql 명령어 입력하기 (0) | 2014.09.09 |
[MySQL]데이터베이스의 생성 및 관리 (0) | 2014.07.13 |
[MySQL] 명령어 정리2 (0) | 2014.07.09 |