0 votes
1 view
in SQL by (2.3k points)

Is there an easy way to run a MySQL query from the Linux command line and output the results in CSV format?

Here's what I'm doing now:

mysql -u uid -ppwd -D dbname << EOQ | sed -e 's/        /,/g' | tee list.csv
select id, concat("\"",name,"\"") as name
from students
EOQ

It gets messy when there are a lot of columns that need to be surrounded by quotes, or if there are quotes in the results that need to be escaped.

1 Answer

0 votes
by (4.3k points)

To output MySQL query results in CSV format...

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';

We are using this command but their column name will not be exported.

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...