Redireccionar salida de MySQL a un archivo de texto desde el Shell

Si deseamos llevar el resultado de una consulta MySQL a un archivo de texto de forma directa y desde la consola, lo podemos hacer de la siguiente manera:

mysql -u usuario -p -e "select codigo, nombres, apellidos from datos.empleados where nombres = 'victor' and apellidos = 'abreu';" > /home/vic/empleados.txt

Para el ejemplo anterior llamamos el proceso mysql seguido de -u y el nombre del usuario de la base de datos con los privilegios adecuados para ejecutar la consulta y poder leer las tablas que esta conlleve. Seguimos con -p para que pregunte por la contraseña y no escribirla directamente en el shell y así nos evitamos que se quede registrada en el historial. Luego escribimos -e para ejecutar lo que se encuentre entre las comillas dobles, en este caso nuestra consulta. Por último utilizamos el signo mayor que, para redireccionar la salida estándar a un archivo de texto de nombre empleados.txt localizado en /home/vic.

Existe otra manera para poder realizar exactamente lo mismo. Y es esta:

mysql -u usuario -p -e "select codigo, nombres, apellidos from datos.empleados where nombres = 'victor' and apellidos = 'abreu' into outfile '/home/vic/empleados.txt';"

La única diferencia en esta segunda forma es que usamos el parámetro into outfile. Hay una gran ventaja al utilizar este método y es que si solo utilizamos la consulta desde cualquier ambiente gráfico de manejo de base de datos (el MySQL Workbench por ejemplo) va a funcionar sin ningún problema.



Temas relacionados

Comparte esta entrada

Deja tus comentarios