본문 바로가기

개발일지

[mysql] 대량 데이터 테이블로 export, import (csv 파일이용)

반응형

[export] 

대량 데이터를 서버에서 csv파일로 저장하기 위해서는 

 

$ mysql -u root -p user

명령어로 서버에서 직접 mysql에 들어간다음

 

mysql 명령어 입력을 다음과 같이 하면 특정 폴더에 내려받기를 할 수 있다. 

select * from [테이블명]  INTO OUTFILE '/tmp/csvfile.csv' FIELDS ENCLOSED BY '"' TERMINATED BY';' ESCAPED BY '"' LINES TERMINATED BY '\r\n';

--- 이때 경로는 tmp 폴더로 하는것이 편리할듯 하다 권한관련 에러가 잘 난다. 

 

[import]

csv 파일을 테이블에 바로 import 하기 위해서는 위와같이 서버에서 mysql에 바로 접속해서 import 시킨다. 

 

LOAD DATA LOCAL INFILE '/home/user/countryIP.csv' INTO TABLE [테이블명] FIELDS ENCLOSED BY '"' TERMINATED BY ',' ESCAPED BY '"' LINES TERMINATED BY '\n';

 

TERMINATED 같은 경우는 위와 같이 \r\n 두개를 다 쓸수 있고 \n만 쓸수도 있다 

구분하는 것을 " " , " " 로 구분하겠다는 의미로 사용하고 다음 row를 판단하는 기준은 TERMINATED를 이용해서 판단한다는 의미이다.

 

위와 같이 서버에서 import export를 하게 되면 속도가 엄청 빠르다. 

반응형

'개발일지' 카테고리의 다른 글

[docker][mongodb] docker mongodb 접속  (0) 2020.02.12
aws 에 pem키로 접속하기  (0) 2020.02.11
H2 DB  (0) 2020.01.14
jsTree  (0) 2018.02.08
POI 이상한 문제  (0) 2017.12.20