> 현재 데이터파일을 가공하지 안고 바로 db로 올릴 수 있는 방법이 없나요. 예를 들면 load data infile문은 ' ' 또는 ','로 구분하여 db로 올릴 수 있는 것은 확인하였습니다. 이렇게 ' '나 ','로 구분하지 않고 특정위치만 지정하여 레코드를 사용하는 방법은 없는지 궁금하네요. 예를 들면
> 1번위치에서 10번위치까지를 이름필드에 입력하고
> 11번위치에서 25번위치까지는 주소필드에 입력할 수 있는 방법은
> 혹시 없는 지요. 일일이 데이터파일을 조작하여 작업하는 것도
> 만만치가 않네요. 좋은 방법있으면 부탁합니다.
>
http://linux.kreonet.re.kr/mysql/Manual_chapter/manual_Reference.html#LOAD_DATA
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY ' ']
[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '' ]]
[LINES TERMINATED BY '
']
[IGNORE number LINES]
[(col_name,...)]
해당하는 매뉴얼에서 참고하세요.
일단 위에서처럼 지정한 칸을 기준으로 입력하는건 별도로 프로그램을 만들지 않는한
힘들것 같고요. 굳이 필드구분자를 , 등으로 할 필요는 없고 따른 것으로 지정해도 됩니다.
@나 #, 탭, 등등.
쩝. 쉘 스크립트를 짜서 몇번칸에 공백을 하나 삽입하는 방법으로도 파일을 변환할 수는
있을 듯한데 이게 더 머리가 아플 수도 있겠지요?
별로 도움이 되지 않는것같군요. 안되면 노가다를 하셔야지요.
|