2012-06-04 8 views
0

아직 Excel에있는 CSV 파일에서 데이터를로드하려고합니다. 지금까지이 쿼리는 SQL 쿼리로 사용되었습니다.csv 파일에서 mysql db로 데이터 가져 오기

LOAD DATA LOCAL INFILE 'C:\\Documents and Settings\\J03299\\Desktop\\TMETER.csv' 
INTO TABLE edata 
COLUMNS TERMINATED BY ',' ENCLOSED BY "" LINES TERMINATED BY '\n' 
(Year,Month,Day,MJD,xpiles,xstacks,Utilites); 

파일 이름은 TMETER이며 파일 이름은 7입니다. 366 개의 행이 있습니다. 첫 번째 행과 처음 네 개의 열 (MJD까지) 만 읽을 수 있지만 그 이후는 모두 null입니다. 두 번째 행에서 내 파일 (TMETER.csv)의 모든 열을 내 edata 테이블의 두 번째 행의 첫 번째 열에 124 행에 넣습니다. 나는로 혼란 스럽다

  1. 열 더미, 스택, 유틸리티에서 데이터를 읽지 않는 이유는 무엇입니까? (csv 파일의 열 이름이 이상하고 내 edata 테이블과 동일하지 않다는 것을 기억하십시오. 예를 들어 실제 CSV 파일에서 x (더미), csv 파일의 y (스택) mysql은이 형식으로 etable 이름을 만들 수 있도록 허용하지 않으므로 즉석에서해야합니다. 왜 csv 파일에서 mysql 테이블로 매핑 및 매핑되지 않을 수 있습니까?
  2. 왜 내 명세서에 mysql 테이블의 첫 번째 행에있는 첫 번째 행에있는 첫 번째 행을 클릭 한 다음 124 행을 모두 건너 뛰고 csv 파일의 모든 열을 mysql 데이터베이스 테이블의 첫 번째 열에 삽입 하시겠습니까?

죄송합니다. 도움을 주시면 대단히 감사하겠습니다.

답변

0

명령을 실행하면 Records: 1 Deleted: 0 Skipped: 0 Warnings: 0과 같은 메시지가 나타납니다. 경고가 있으면 SHOW WARNINGS을 입력하여 내용을 확인하십시오.

줄 끝이 잘못되었을 때 가끔씩 들리는 것처럼 들립니다. 코드 편집기에서 문서를 열고 실제로 줄이 \ n로 끝나는지 확인하십시오. 그게 불편하면 테이블을 떨어 뜨려 LINES TERMINATED BY '\r' 또는 LINES TERMINATED BY '\r\n'으로 다시 가져 와서 수정했는지 확인해보십시오.

필드 이름 관련 :이 명령은 텍스트 파일의 필드 이름을 무시합니다. 첫 번째 열과 첫 번째 열은 괄호 (사용자의 경우 Year), 두 번째 열은 두 번째 열 (괄호), 기타 등등과 일치합니다. 파일의 맨 위에 필드 이름이 있으면 필드 목록이있는 괄호 바로 앞에 IGNORE 1 LINES를 추가하여 건너 뜁니다.

+0

문제를 이해하고 회신 해 주셔서 감사합니다. 나는이 말을 실행할 때 어떤 경고도받지 못한다. 내 CSV 파일에서 나는 7 개의 열이 있습니다. 내 진술은 MJD 열까지 모든 값을 읽습니다. 그 후에는 아무 것도 읽지 않습니다. 내 SQL staement-x (piles)에있는 열의 실제 이름을 포함하는 경우 - 열 namethat이 오류 코드 1064를 나타내는 오류를 throw하는 경우 SQL 상태 42000 : SQL 구문에 오류가 있습니다. '(더미), y (스택)'근처에서 사용할 올바른 구문에 대해서는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. – rambokayambo

+0

이 열 이름을 사용하여 테이블에 데이터를 읽는 방법을 모르겠습니다. 그것은 124 행을 건너 뜁니다. – rambokayambo

+0

코드 편집기를 사용하여 문서를 열었을 때 각 행이 종료되었습니다. – rambokayambo

관련 문제