2010-07-13 7 views
7

데이터베이스에로드하려는 CSV 파일이 두 개 있지만 CSV 파일에 데이터베이스보다 많은 열이 많이 포함되어 있습니다. 선택한 열만 CSV 파일에서 내 데이터베이스로 가져 오려면 어떻게해야합니까?MySQL 가져 오기 CSV 데이터 - 일부 csv 열 무시

인수의 경우 CSV에 열 제목이 A에서 Z까지 포함 된 머리글 행이 포함 된 다음 A부터 Z 열의 값이있는 200 만 개의 행이 있다고 가정 해 보겠습니다. myTest my table에 B, N 및 S가 포함되어 있다고 가정 해 보겠습니다. CSV 파일의 열 B, N 및 S 만 myTest로 가져 오려고합니다.

난 할 계획 하였다

mysqlimport --local --columns=B,N,S --ignore-lines=1 --delete --default-character-set=latin1 --fields-optionally-enclosed-by=\" --fields-terminated-by=\, --lines-terminated-by=\r\n myDb myTest.csv 

을하지만하지 열 B의 값, N 및 S I 같은 열 A의 값, B 및 C로 행 B, N 및 S를 채운다 원했어.

B, N 및 S 만 가져올 수있는 방법에 대한 제안 사항이 있으십니까?

답변

14

필요없는 모든 열을 건너 뛰려면 --columns=B,N,S을 변경하고 매개 변수를 추가해야합니다. 예를 들어

, 1, 4 및 7 열 사용을 사용하려면 :

--columns=B,@x,@x,N,@x,@x,S 

이 @x 매개 변수 2, 3, 5, 6 열을 보낼 것이다.

참조 : http://dev.mysql.com/doc/refman/5.1/en/mysqlimport.html

+0

대단히 고맙습니다. 나는 아침 내내 그 링크를 읽고 있었지만 이런 식으로 생각하지는 않았다 :-) – niklassaers

관련 문제