Loading...

Exportar una tabla de MySQL a CSV

2024-01-07
  • comandos
  • csv
  • mysql

En el mundo de la tecnología y la gestión de bases de datos, a menudo surge la necesidad de exportar datos de una tabla de una base de datos MySQL a un formato más accesible y ampliamente utilizado, como el CSV (Comma-Separated Values).

En este post, vamos a explorar cómo utilizar un comando en MySQL para lograr esta tarea de manera eficiente y sencilla.

Exportar una tabla de MySQL

La exportación de una tabla de una base de datos MySQL a un archivo CSV se puede realizar mediante el uso del comando específico proporcionado por MySQL.

A continuación se muestra el comando que nos permitirá realizar esta tarea:

$ mysql -u<usuario> -p<contraseña> -h <servidor> <base_de_datos> \
-e "select * from <tabla>" \
-B | sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" \
> <archivo>.csv

Tras haber ejecutado el comando, obtendremos nuestros datos en formato CSV en la ruta especificada.

Cómo funciona el comando

Bien, pues vamos a desglosarlo para entenderlo:

  • mysql: Binario ejecutable de linea de comandos de MySQL.
  • u<usuario>: Reemplaza <usuario> con el nombre de usuario válido para acceder a la base de datos MySQL.
  • p<contraseña>: Reemplaza <contraseña> con la contraseña correspondiente al usuario de la base de datos.
  • h <servidor>: Especifica el host o servidor donde se encuentra alojada la base de datos MySQL.
  • <base_de_datos>: Indica el nombre de la base de datos de la cual deseas exportar la tabla.
  • e "select * from <tabla>": Este parámetro ejecuta una consulta SELECT para seleccionar todos los registros de la tabla especificada.
  • B: Esta opción asegura que la salida se muestre en un formato de tabla delimitada por tabulaciones.
  • sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g": Esta utilidad de Linux se utiliza para formatear la salida y reemplazar las comillas simples ('), las tabulaciones y los saltos de línea por comillas dobles (") y comas (,) respectivamente.
  • > <archivo>.csv: Redirige la salida formateada hacia un archivo con extensión .csv, especificando el nombre del archivo deseado.

Conclusión

Exportar una tabla de una base de datos MySQL a un archivo CSV es una tarea común y útil para compartir datos de manera más sencilla y compatible con diferentes aplicaciones y plataformas.

Mediante el uso del comando anteriormente mencionado, puedes realizar esta tarea de manera rápida y eficiente.

Recuerda ajustar los parámetros del comando según tus necesidades, como el usuario, contraseña, servidor, base de datos, tabla y nombre del archivo CSV resultante.