Всі рішення на сьогоднішній день, окрім MySQL workbench, є невірними та цілком можливо небезпечними (тобто питаннями безпеки) принаймні деякого можливого вмісту в mysql db.
MYSQL Workbench (і аналогічно PHPMyAdmin) надають формально правильне рішення, але призначені для завантаження результатів на місце користувача. Вони не такі корисні для таких речей, як автоматизація експорту даних.
Неможливо згенерувати надійно правильний csv з виводу mysql -B -e 'SELECT ...'
оскільки це не може кодувати повернення каретки та пробіл у полях. Прапор '-s' для mysql робить зворотну косу рису, і це може призвести до правильного рішення. Однак використання мови сценаріїв (такої, що має гідну внутрішню структуру даних, тобто не баш), та бібліотек, де проблеми кодування вже ретельно розроблені, набагато безпечніше.
Я думав над тим, щоб написати сценарій для цього, але, як тільки подумав про те, як би його назвати, мені спало на думку шукати попередньо працю з такою ж назвою. Поки я не ретельно переглянув це, рішення на веб- сайті https://github.com/robmiller/mysql2csv виглядає багатообіцяючим. Залежно від вашої програми, підхід yaml до вказівки команд SQL, можливо, може не звертатись. Я також не в захваті від вимоги до більш нової версії ruby, ніж це стандартно для мого ноутбука Ubuntu 12.04 або Debian Squeeze. Так, я знаю, що я міг би використовувати RVM, але я вважаю за краще не підтримувати це з такою простою метою.
Сподіваємось, хтось вкаже на підходящий інструмент, це трохи перевірило. Інакше я, мабуть, оновлю це, коли знайду або напишу його.
REPLACE()
у своєму запиті, щоб уникнути цитат.