Справка с MySQL (.sql) и сценарием оболочки

Как я называю следующее в .sql файле?

mysql -u username -h serverip db -e "select a, b, c, d from mytable" > '/home/dump/result.txt';

Я должен буду затем преобразовать разделенный файл вкладки в csv, для которого я хочу использовать sed.

  1. Существует ли способ сделать все это в одной строке? (добавьте команду sed для преобразования .txt файла в csv),
  2. Как использовать вызов os.system в .sql файле? Это будет работать?
1
задан user337672 11 May 2010 в 16:19
поделиться

2 ответа

Попробуйте следующее:

mysql --batch --skip-column-names -u username -h serverip db \
  -e "select a, b, c, d from mytable" \
  | sed -e 's/\t/,/g' \
  > '/home/dump/result.txt'

См. Документы для - batch и - skip-column-names для получения дополнительной информации.

0
ответ дан 3 September 2019 в 00:39
поделиться

А если выполнить этот запрос через mysql консольный клиент:

SELECT ... FROM ... INTO OUTFILE  '/path/to/file.csv' 
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "\n"
2
ответ дан 3 September 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: