Pregunta

¿Cómo se llama al siguiente en un archivo .sql?

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

a continuación, tendrá que convertir el archivo de ficha separada a csv por lo que quiero usar sed.

  1. ¿Hay una manera de hacerlo todo en uno ¿línea? (Append sed de comandos para convertir el archivo .txt a CSV)
  2. ¿Cómo utilizar una os.system llamada en el archivo sql? lo hará trabajo?
¿Fue útil?

Solución

Prueba esto:

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'

Vea docs para --batch y --skip-column-names para obtener más información.

Otros consejos

¿Qué hay de ejecutar esta consulta a través del cliente de la consola mysql:

SELECT ... FROM ... INTO OUTFILE  '/path/to/file.csv' 
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "\n"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top