Como exportar tabela para CSV no MySQL

O arquivo CSV é um formato de arquivo de texto muito comum que é suportado por muitas aplicações. A forma completa de CSV é Comma-Separated Values (Valores Separados por Vírgulas). Isso significa que os dados são separados por uma vírgula em cada linha deste arquivo. Ele é usado principalmente para trocar dados tabulares entre diferentes tipos de aplicações que suportam este formato de arquivo. XML é outro formato de arquivo comumente usado para o intercâmbio de dados entre aplicações. Mas o arquivo CSV é uma opção melhor do que o arquivo XML, pois ocupa menos espaço e largura de banda do que um arquivo XML. É necessário exportar dados no formato CSV de uma aplicação antes de importar os dados para outra aplicação. O MySQL suporta várias maneiras de exportar dados de tabelas de banco de dados. O formato CSV é uma dessas formas. Este artigo mostra diferentes maneiras de exportar dados em formato CSV a partir da tabela de banco de dados MySQL.

Prerequisite:

Antes de executar qualquer instrução de exportação, você tem que criar um novo banco de dados e tabelas ou selecionar um banco de dados e tabelas existentes. Execute os seguintes comandos para criar uma base de dados de biblioteca e três tabelas chamadas livros, emprestadores e book_borrow_info.

Execute os seguintes comandos SQL para inserir alguns dados em três tabelas.

Todos os arquivos exportados são armazenados em um determinado local no MySQL e o local é armazenado na variável, “secure_file_priv”. Execute o seguinte comando para descobrir o caminho do arquivo. Esta é uma variável somente leitura que você não pode alterar.

SHOW VARIABLES LIKE “secure_file_priv”;

A localização do arquivo é ‘/var/lib/mysql-files/’. Você tem que usar essa localização no momento da execução do comando export.

Exportar dados no formato CSV usando a instrução INTO OUTFILE:

Ainda tabela de banco de dados pode ser exportada usando a instrução INTO OUTFILE. Suponhamos que eu queira exportar os dados da tabela de livros. Execute o seguinte comando para verificar os dados existentes nesta tabela.

SELECT * FROM books;

Any filename with .csv extension can be set for the export filename. Execute o seguinte comando de exportação para criar o arquivo books.csv no local,/var/lib/mysql-files/.

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

Vá para o local de exportação para verificar se o arquivo foi criado em não. Clique no arquivo para exibir o conteúdo do arquivo. Se a vírgula existir como conteúdo de qualquer valor de campo da tabela, então ele irá separar o valor em múltiplos valores. Na tabela de livros, o campo da editora contém uma vírgula(,) como conteúdo no terceiro registro. Se você examinar o conteúdo do arquivo CSV, verá que o conteúdo do editor é separado em dois valores que não são apropriados.

Para resolver o problema acima, você pode exportar os dados da tabela de livros para um arquivo CSV especificando corretamente os delimitadores necessários na instrução SQL. Execute o seguinte comando para exportar a tabela de livros para o arquivo books2.csv apropriadamente. Aqui, três delimitadores são usados para exportar os dados apropriadamente. Estes são FIELDS TERMINATED BY, ENCLOSED BY e LINES TERMINATED BY.

Agora, se você abrir o arquivo books2.csv então você verá que o problema anterior está resolvido neste arquivo e os dados não serão divididos em múltiplos valores.

Exportar dados em formato CSV usando mysql client:

Os dados da tabela podem ser exportados para um ficheiro CSV usando mysql client. 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á o seguinte output.

Exportar dados em formato CSV usando phpmyadmin:

A tabela da base de dados pode ser exportada para arquivo CSV muito facilmente usando qualquer ferramenta administrativa da base de dados. Você tem que instalar a ferramenta antes de fazer a exportação. phpmyadmin é usado aqui para exportar a tabela para o arquivo CSV. Aqui, o nome do arquivo exportado será o nome da tabela. Execute a seguinte URL em qualquer navegador para exibir a lista de banco de dados existente do servidor MySQL.

Selecione a tabela do banco de dados que você deseja exportar e clique na aba Exportar do lado direito. Selecione o formato CSV na lista suspensa Format e clique no botão Go. Selecione a opção Salvar Arquivo e pressione o botão OK.


O arquivo será baixado na pasta Downloads. Aqui, a tabela book_borrow_info é exportada. Assim, o nome do arquivo CSV será book_borrow_info.csv e o seguinte conteúdo aparecerá se você abrir o arquivo.

Conclusion:

A tarefa de troca de dados entre as aplicações se torna mais fácil usando o recurso de exportação do servidor de banco de dados. O MySQL suporta muitos outros formatos de arquivo para exportar dados de tabela. O formato de arquivo sql é usado principalmente para transferir dados entre os mesmos servidores de banco de dados. O formato CSV é muito útil se você quiser trocar dados entre duas aplicações diferentes.

Deixe uma resposta

O seu endereço de email não será publicado.