본문 바로가기

Tip

[mysql] csv txt파일을 local서버가 아닌 곳에서 import

1) 엑셀 파일 경우, csv 저장
2) 저장된 csv 엑셀파일을 메모장으로 드래그해서 이동
3) 메모장을 저장할때 utf-8 형식으로 저장
4) ftp로 파일 복사
5) show VARIABLES like 'datadir'; 로 파일 이동
6) 쿼리문 실행(예시 참조)
7) 서버에서 db 접속해서 쿼리 호출해야함.
8) 삽입 한글 encoding 문제 (출처 : https://jjunii486.tistory.com/68)

 

/* LOCAL은 서버가 내PC가 아닐 경우 사용 */
LOAD DATA LOCAL INFILE '/var/lib/mysql/item_test_txt.txt' into TABLE TBM_ITEM_MT
CHARACTER SET utf8
FIELDS
TERMINATED BY ',' /*필드 구분자*/
OPTIONALLY ENCLOSED BY '"' /*필요할경우, 따옴표로 구분*/
ESCAPED BY '' /*문자열 그대로 인서트될 수 있게 이스케이프 캐릭터를 빈 값으로 처리*/
LINES TERMINATED BY '\n' /*개행 구분*/
IGNORE 1 LINES /*txt파일의 필드명인 첫줄을 제외*/
(@ITEM_CD, @ITEM_GB1, @ITEM_GB2, @ITEM_GB3, @ITEM_NM, @SIZE_H, @SIZE_V, @SIZE_HIGHT, @PUM_COST, @REMARK, @INUSR)
SET /*txt파일의 구분자와 table 컬럼 매핑*/
  ITEM_CD = @ITEM_CD,
  ITEM_GB1 = @ITEM_GB1,
  ITEM_GB2 = @ITEM_GB2,
  ITEM_GB3 = @ITEM_GB3,
  ITEM_NM = @ITEM_NM,
  SIZE_H  = @SIZE_H,
  SIZE_V  = @SIZE_V,
  SIZE_HIGHT = @SIZE_HIGHT,
  PUM_COST = @PUM_COST,
  REMARK = @REMARK,
  INUSR = @INUSR;