본문 바로가기

SERVER/mysql

[MYSQL] select한 결과 파일로 export!!

select한 결과를 파일로 export하겠다.

역시 데이터가 커지면, mysqlworkbench보다 터미널에서 직접 작업하는 게 편하다.


* data export to file 

SELECT DATE_FORMAT(ts,'%Y%m%d') AS DATE,user_id,COUNT(user_id) as NUM  FROM 2013_2017_sql_operation_log.sql_operation_log GROUP BY user_id,DATE_FORMAT(ts,'%Y%m%d') ORDER BY DATE_FORMAT(ts,'%Y%m%d'),user_id INTO OUTFILE '파일 위치/파일명' CHARACTER SET UTF8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n';


* data load from exported file.

 sql> LOAD DATA LOCAL INFILE "파일 위치/파일명" INTO TABLE 2013_2017_sql_operation_log.daily_access_count FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

Query OK, 13807851 rows affected (1 min 10.79 sec)

Records: 13807851  Deleted: 0  Skipped: 0  Warnings: 0



주의점: 

1. mysql에서 파일을 생성할 때 mysql 유저가 쓰기 권한이 있는 위치를 지정.