'mariaDB'에 해당되는 글 1건
- 2021.03.26 파일에서 Data를 직접 Table로 Import 시키기(MySQL)
2021. 3. 26. 12:16
파일에서 Data를 직접 Table로 Import 시키기(MySQL)
2021. 3. 26. 12:16 in 개발관련/Database
MySQL(MariaDB) 에서 구분자로 구분되어 있는 파일을 읽어 바로 Table에 집어 넣는 기능
LOAD DATA INFILE 파일이름 INTO TABLE 테이블이름
FIELDS TERMINATED BY 컬럼구분자
LINES TERMINATED BY 라인구분자
(
컬럼으로 구분되는 항목 대응 변수들(@로 시작)
) SET
각 컬럼명 = 변수들(후처리가 필요한 경우 사용)
LOAD DATA INFILE 파일이름 INTO TABLE 테이블이름위의 항목을 다 써야 하는 것은 아니고,
FIELDS TERMINATED BY 컬럼구분자
이정도만 써도 동작은 할 수 있음
예제 : (SET이하 부분에 괄호가 없음에 주의!!!)
LOAD DATA INFILE 'c:\\temp\\sample.txt' INTO TABLE tbl_sample
FIELDS TERMINATED BY '^'
LINES TERMINATED BY '\r\n'
(
@code1,
@code2,
@code3
) SET
`code1` = @code1,
`code2` = TRIM(@code2),
`code3` = @code3,
`InsertDate` = date_format(NOW(),'%Y%m%d%H%i%S');
관련 내용:
1. table의 컬럼갯수가 data 파일의 컬럼갯수 보다 많은 경우(추가 데이터가 필요한 경우)
: 위의 예제처럼 SET 부분에 컬럼명 및 데이터를 써줌
2. 파일의 내용에 대한 수정이 필요한 경우
: 위의 예제 처럼 SET 부분에 TRIM같은 식으로 후 처리 가능
3. Table의 마지막 컬럼에서 데이터 사이즈 경고가 나오는 경우
: 줄 끝에 대한 인식이 정상적으로 처리 되지 않아서 발생하는 현상으로 LINES TERMINATED BY 문을 사용하면 됨