안녕하세요.
오늘은 MySQL LOAD DATA INFILE 명령어에 대해 간단히 알아보겠습니다.
MySQL 빅데이터 불러오기
- LOAD DATA INFILE 명령어는 MySQL에서 대용량 데이터를 빠르게 테이블에 삽입하는 데 사용되는 매우 효과적인 방법임 - 일반적인 삽입문인 INSERT문보다 20배 가량 빠른 성능을 보임
▣ 기본 구문
ㅇ 옵션 설명
- LOW_PRIORITY : 테이블을 읽는 동안 데이터 로드 작업 대기 상태
- CONCURRENT : 데이터 로드 작업이 실행되는 동안 테이블에서 데이터를 읽을 수 있음
- LOCAL : 클라이언트에서 파일을 읽을 때 사용됨
- REPLACE | IGNORE : 중복 레코드 처리 방식 지정
- FIELDS TERMINATED BY: 필드 구분자 지정 (보통 ',')
- ENCLOSED BY: 필드 값을 둘러싸는 문자 지정 (보통 '''')
- LINES TERMINATED BY: 행 구분자 지정 (보통 '\n')
- IGNORE number LINES: 지정된 수의 행 무시 (헤더 행 건너뛰기 위해 보통 1 지정)
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE table_name
[CHARACTER SET charset_name]
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number {LINES | ROWS}]
[(column_name_or_user_var,...)]
[SET column_name = expr,...]
- 또한, 보안으로 잘은 쓰이지 않으나 원격 URL에서도 데이터를 불러올 수 있음 (JDBC 드라이버 사용시)
-- 아무 예시 url 불러오기
LOAD DATA LOCAL
INFILE 'http://example.com/data.csv'
INTO TABLE customer
CHARACTER SET 'utf-8';
반응형
'Programming > SQL' 카테고리의 다른 글
[SQL] Index(인덱스) 사용법 및 예시 (3) | 2024.07.13 |
---|---|
[SQL] 파티셔닝 대용량 데이터 처리하기 (4) | 2024.07.12 |
[MySQL] 텍스트 검색(Full-Text Search) (2) | 2024.07.08 |
[MySQL] 쿼리 결과 변수로 설정하기 (82) | 2024.02.21 |
[MySQL] IP 주소 데이터 처리하기(INET_ATON, INET_NTOA) (76) | 2024.02.18 |
댓글