반응형
출처:https://may9noy.tistory.com/470
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
- 끝 -
반응형