Cómo exportar tabla a CSV en MySQL

El archivo CSV es un formato de archivo de texto muy común que es soportado por muchas aplicaciones. La forma completa de CSV es Comma-Separated Values. Eso significa que los datos están separados por una coma en cada línea de este archivo. Se utiliza principalmente para intercambiar datos tabulares entre diferentes tipos de aplicaciones que soportan este formato de archivo. XML es otro formato de archivo que se utiliza habitualmente para intercambiar datos entre aplicaciones. Pero el archivo CSV es una mejor opción que el archivo XML, porque ocupa menos espacio y ancho de banda que un archivo XML. Es necesario exportar datos en formato CSV desde una aplicación antes de importar los datos a otra aplicación. MySQL soporta varias formas de exportar datos de las tablas de la base de datos. El formato CSV es una de ellas. Este artículo muestra diferentes maneras de exportar datos en formato CSV desde la tabla de la base de datos MySQL.

Requisito previo:

Antes de ejecutar cualquier sentencia de exportación, tiene que crear una nueva base de datos y tablas o seleccionar una base de datos y tablas existentes. Ejecute los siguientes comandos para crear una base de datos de biblioteca y tres tablas denominadas books, borrowers y book_borrow_info.

Ejecute los siguientes comandos SQL para insertar algunos datos en tres tablas.

Cada archivo exportado se almacena en una ubicación particular en MySQL y la ubicación se almacena en la variable, «secure_file_priv». Ejecute el siguiente comando para conocer la ruta del archivo. Esta es una variable de sólo lectura que no puedes cambiar.

SHOW VARIABLES LIKE «secure_file_priv»;

La ubicación del archivo es ‘/var/lib/mysql-files/’. Tienes que usar esta ubicación en el momento de ejecutar el comando export.

Exportar datos en formato CSV usando la sentencia INTO OUTFILE:

Cualquier tabla de la base de datos puede ser exportada usando la sentencia INTO OUTFILE. Supongamos que quiero exportar los datos de la tabla de libros. Ejecute el siguiente comando para comprobar los datos existentes de esta tabla.

SELECT * FROM books;

Se puede establecer cualquier nombre de archivo con extensión .csv para el nombre de archivo de exportación. Ejecute el siguiente comando de exportación para crear el archivo books.csv en la ubicación,/var/lib/mysql-files/.

SELECT title, author, publisher FROM books INTO OUTFILE ‘/var/lib/mysql-files/books.csv’;

Vaya a la ubicación de exportación para comprobar que el archivo se crea en no. Haga clic en el archivo para mostrar el contenido del archivo. Si la coma existe como contenido de cualquier valor de campo de la tabla entonces separará el valor en múltiples valores. En la tabla de libros, el campo editor contiene una coma(,) como contenido en el tercer registro. Si examina el contenido del archivo CSV verá que el contenido del editor está separado en dos valores que no son apropiados.

Para resolver el problema anterior, puede exportar los datos de la tabla libros a un archivo CSV especificando los delimitadores necesarios adecuadamente en la sentencia SQL. Ejecute el siguiente comando para exportar la tabla de libros a un archivo books2.csv de forma adecuada. Aquí se utilizan tres delimitadores para exportar los datos correctamente. Estos son FIELDS TERMINATED BY, ENCLOSED BY y LINES TERMINATED BY.

Ahora, si abre el archivo books2.csv entonces verá que el problema anterior está resuelto en este archivo y los datos comma(,) no están divididos en múltiples valores.

Exportar los datos en formato CSV utilizando el cliente mysql:

Los datos de la tabla se pueden exportar a un archivo CSV utilizando el cliente mysql. The borrowers table is exported in this part of this article. Run the following command to check the existing content of this table.

SELECT * FROM borrowers;

mysql statement with `sed` command is used here to export the data. One of the benefits of this statement is that you can set any location and filename for storing the CSV file without the default location that is used in the previous example. If there is no password for the root user then -p option will be omitted. The exported location is /tmp and filename is output.csv here.

mysql -h localhost -u root -p -e ‘select * from library.borrowers’ |
sed ‘s/\t/,/g’ > /tmp/output.csv

If you open the output.csv aparecerá la siguiente salida.

Exportar datos en formato CSV usando phpmyadmin:

La tabla de la base de datos puede ser exportada a un archivo CSV muy fácilmente usando cualquier herramienta administrativa de la base de datos. Usted tiene que instalar la herramienta antes de hacer la exportación. phpmyadmin se utiliza aquí para exportar la tabla en el archivo CSV. Aquí, el nombre del archivo exportado será el nombre de la tabla. Ejecute la siguiente URL en cualquier navegador para mostrar la lista de bases de datos existentes del servidor MySQL.

Seleccione la tabla de la base de datos que desea exportar y haga clic en la pestaña Exportar del lado derecho. Selecciona el formato CSV en la lista desplegable Formato y pulsa el botón Ir. Seleccione la opción Guardar archivo y pulse el botón Aceptar.


El archivo se descargará en la carpeta Descargas. Aquí se exporta la tabla book_borrow_info. Así, el nombre del archivo CSV será book_borrow_info.csv y el siguiente contenido aparecerá si se abre el archivo.

Conclusión:

La tarea de intercambio de datos entre las aplicaciones se hace más fácil utilizando la función de exportación del servidor de bases de datos. MySQL soporta muchos otros formatos de archivo para exportar los datos de las tablas. El formato de archivo sql se utiliza principalmente para transferir datos entre los mismos servidores de bases de datos. El formato CSV es muy útil si desea intercambiar datos entre dos aplicaciones diferentes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.