Daha
MySQL sorgu sonuçlarının CSV formatında çıktısı nasıl alınır?
Linux komut satırından bir MySQL sorgusu çalıştırmanın ve sonuçları CSV biçiminde çıktılamanın kolay bir yolu var mı?
İşte şu anda yaptığım şey:
mysql -u uid -ppwd -D dbname << EOQ | sed -e 's/ /,/g' | tee list.csv
select id, concat("\"",name,"\"") as name
from students
EOQ
Tırnak işaretleri ile çevrelenmesi gereken çok sayıda sütun olduğunda veya sonuçlarda kaçılması gereken tırnak işaretleri olduğunda karmaşıklaşır.
1112
3
http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/ adresinden
Bu komut kullanıldığında sütun adları dışa aktarılmayacaktır.
Ayrıca
/var/lib/mysql-files/orders.csv
dosyasının MySQL'i çalıştıran sunucu üzerinde olacağını unutmayın. MySQL işleminin altında çalıştığı kullanıcı, seçilen dizine yazma izinlerine sahip olmalıdır, aksi takdirde komut başarısız olur.Uzak bir sunucudan (özellikle Heroku veya Amazon RDS gibi barındırılan veya sanallaştırılan bir makine) yerel makinenize çıktı yazmak istiyorsanız, bu çözüm uygun değildir.
Bu size sekmeyle ayrılmış bir dosya verecektir. Virgüller (veya virgül içeren dizeler) öncelenmediğinden, sınırlayıcıyı virgül olarak değiştirmek kolay değildir.
Yukarıdaki cevaba alternatif olarak, CSV motorunu kullanan bir MySQL tablosuna sahip olabilirsiniz.
Böylece sabit diskinizde her zaman CSV formatında olacak ve işlem yapmadan kopyalayabileceğiniz bir dosyanız olacaktır.