반응형

1. 첫번째 방법

첫번째 방법 사용 시 주의 사항 :  'my_table.csv' 파일명에 my.ini의 secure-file-priv 경로를 같이 적어야 정상적으로 파일이 export 되는 경우가 있음.

파일명 : MySQL table into CSV file 1.sql

SELECT * FROM my_table
INTO OUTFILE 'my_table.csv'
CHARACTER SET euckr
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'

2. 두번째 방법

파일명 : MySQL table into CSV file 2.sql

SELECT * FROM (
    (
        SELECT
            '필드1' AS 'filed_1',
            '필드2' AS 'filed_2'
    ) UNION (
        SELECT
            filed_1,
            filed_2
        FROM my_table
    )
) AS mysql_query
INTO OUTFILE 'my_table.csv'
CHARACTER SET euckr
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'

3. 세번째 방법 (소량의 데이터 대상)

파일명 : MySQL table into CSV file 3.sh

mysql -p my_db -e "SELECT * FROM my_table" | sed 's/\t/","/g;s/^/"/;s/$/"/;' > my_table.csv

4. 네번째 방법

파일명 : MySQL table into CSV file 4.sh

#!/bin/bash
 
db=YOUR_DB
user=YOUR_USER
pass=YOUR_PASS
 
for table in $(mysql -u$user -p$pass $db -Be "SHOW tables" | sed 1d); do
  echo "exporting $table.."
  mysql -u$user -p$pass $db -e "SELECT * FROM $table" | sed 's/\t/","/g;s/^/"/;s/$/"/;' > $table.csv
done

- 끝 - 

 

출처: https://may9noy.tistory.com/470

반응형

+ Recent posts