728x90
반응형
질문 : MySQL 쿼리 결과를 CSV 형식으로 출력하는 방법은 무엇입니까?
Linux 명령 줄에서 MySQL 쿼리를 실행하고 결과를 CSV 형식으로 출력하는 쉬운 방법이 있습니까?
지금 내가하고있는 일은 다음과 같습니다.
mysql -u uid -ppwd -D dbname << EOQ | sed -e 's/ /,/g' | tee list.csv
select id, concat("\"",name,"\"") as name
from students
EOQ
따옴표로 묶어야하는 열이 많거나 이스케이프해야하는 결과에 따옴표가 있으면 지저분 해집니다.
답변
http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/에서
SELECT order_id,product_name,qty
FROM orders
WHERE foo = 'bar'
INTO OUTFILE '/var/lib/mysql-files/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
참고 : 해당 구문은
SELECT order_id,product_name,qty
INTO OUTFILE '/var/lib/mysql-files/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM orders
WHERE foo = 'bar';
최신 버전의 MySQL에서.
이 명령을 사용하면 열 이름이 내보내지지 않습니다.
또한 /var/lib/mysql-files/orders.csv
는 MySQL을 실행 하는 서버에 있습니다. MySQL 프로세스가 실행되는 사용자는 선택한 디렉토리에 쓸 수있는 권한이 있어야합니다. 그렇지 않으면 명령이 실패합니다.
원격 서버 (특히 Heroku 또는 Amazon RDS와 같은 호스팅 또는 가상화 시스템)에서 로컬 시스템에 출력을 작성하려는 경우이 솔루션은 적합하지 않습니다.
출처 : https://stackoverflow.com/questions/356578/how-to-output-mysql-query-results-in-csv-format
728x90
반응형
'프로그래밍 언어 > Database' 카테고리의 다른 글
psql : 치명적 : 데이터베이스“<user> " 존재하지 않는다 (0) | 2021.07.05 |
---|---|
SQL Server에서 INNER JOIN을 사용하여 삭제하는 방법 (0) | 2021.07.05 |
PostgreSQL 명령 줄 유틸리티를 종료하는 방법 : psql (0) | 2021.07.05 |
MongoDB 또는 기타 문서 지향 데이터베이스 시스템의 사용시기 (0) | 2021.07.02 |
MySQL 데이터베이스의 이름을 손쉽게 바꾸는 방법 (0) | 2021.06.28 |