Saltar al contenido

¿Cómo guardar la salida de la consulta MySQL en un archivo excel o .txt?

Bienvenido a proyecto online, en este sitio hallarás la solucíon que buscas.

Solución:

Desde Guardar los resultados de la consulta de MySQL en un archivo de texto o CSV:

MySQL proporciona un mecanismo sencillo para escribir los resultados de una declaración de selección en un archivo de texto en el servidor. Usando las opciones extendidas de la nomenclatura INTO OUTFILE, es posible crear un valor separado por comas (CSV) que se puede importar a una aplicación de hoja de cálculo como OpenOffice o Excel o cualquier otra aplicación que acepte datos en formato CSV.

Ante una consulta como

SELECT order_id,product_name,qty FROM orders

que devuelve tres columnas de datos, los resultados se pueden colocar en el archivo /tmp/orders.txt usando la consulta:

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.txt'

Esto creará un archivo separado por tabulaciones, cada fila en su propia línea. Para alterar este comportamiento, es posible agregar modificadores a la consulta:

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY 'n'

En este ejemplo, cada campo estará entre comillas dobles, los campos estarán separados por comas y cada fila aparecerá en una nueva línea separada por una nueva línea (n). La salida de muestra de este comando se vería así:

"1","Tech-Recipes sock puppet","14.95" "2","Tech-Recipes chef's hat","18.95"

Tenga en cuenta que el archivo de salida aún no debe existir y que el usuario que ejecuta MySQL tiene permisos de escritura en el directorio en el que MySQL intenta escribir el archivo.

Sintaxis

   SELECT Your_Column_Name
    FROM Your_Table_Name
    INTO OUTFILE 'Filename.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY 'n'

O podría intentar obtener la salida a través del cliente:

Puede intentar ejecutar la consulta desde su cliente local y redirigir la salida a un destino de archivo local:

mysql -user -pass -e "select cols from table where cols not null" > /tmp/output

Sugerencia: si no especifica una ruta absoluta pero usa algo como INTO OUTFILE 'output.csv' o INTO OUTFILE './output.csv'almacenará el archivo de salida en el directorio especificado por show variables like 'datadir';.

Puede escribir los siguientes códigos para lograr esta tarea:

SELECT ... FROM ... WHERE ... 
INTO OUTFILE 'textfile.csv'
FIELDS TERMINATED BY '|'

Exporta el resultado a CSV y luego lo exporta a una hoja de Excel.

Aquí tienes las comentarios y puntuaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *