Pergunta

Como eu chamo o seguinte em um arquivo .sql?

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

Vou então ter que converter o arquivo separado da TAB em CSV para o qual quero usar o SED.

  1. Existe uma maneira de fazer tudo em uma linha? (Anexe o comando sed para converter o arquivo .txt em csv)
  2. Como usar um OS.System Ligue para .SQL FILE? será que vai dar certo?
Foi útil?

Solução

Experimente isso:

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'

Veja documentos para --batch e --skip-column-names para mais informações.

Outras dicas

Que tal executar esta consulta via mysql Cliente de console:

SELECT ... FROM ... INTO OUTFILE  '/path/to/file.csv' 
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "\n"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top