반응형
MySQL에 대량의 데이터를 isnert 해야 할 때,
load data infile로 쉽고 빠르게 insert 가능하다.
테스트 테이블 생성구문
create table test (
seq int unsigned not null auto_increment comment 'seq',
date1 datetime not null comment 'date1',
date2 datetime default null comment 'date2',
email varchar(100) default null comment '이메일',
enc_email varchar(150) default null comment '암호화이메일',
result varchar(10) default null comment '결과',
desc varchar(2000) default null comment '결과 상세내역',
primary key (seq),
key 'test_idx01' (date1),
key 'test_idx02' (date2),
key 'test_idx03' (email)
) engine=innodb default charset=utf8mb4 ;
load data infile 구문
load data [local] infile '/home/aaa.csv'
into table test character set utf8
fields terminated by ','
optionally terminated by '"'
lines terminated by '/n'
(date1, date2, email, enc_email , result, desc);
[local] 구문은 mysql 의 datadir 경로에 import 할 파일이 없는 경우, 퍼미션 에러가 날 수 있다.
이때 local 구문을 같이 넣어주면 문제없이 데이터가 들어간다.
보통 CSV 파일들은 콤마(,)를 구분자로 하여 한 로우는 큰따옴표(")로 구분된다.
또한 다음 로우를 인식하기 위해 줄바꿈(\n)을 사용했다.
위의 명령어를 mysql 에 접속해서 실행하면 된다.!
반응형
'MySQL' 카테고리의 다른 글
MySQL mysqldumpslow 사용법 slowquery 분석방법 (2) | 2023.12.27 |
---|---|
MySQL 8.0 테이블생성 warning utf8 alias utf8mb3 utf8mb4 (0) | 2023.12.26 |
RDS vs Aurora (0) | 2022.09.29 |
Postgresql Auto vaccum 수행중일 때 Full vaccum 이 돌면? (0) | 2022.09.28 |
Aurora 2.X -> 3.X in-place 업그레이드 지원(2022-09-26 ~) (0) | 2022.09.28 |