Importar dados de arquivo CSV (.csv) no MySQL

Diversos programas exportam dados em comma-separated values (CSV) cuja extensão é .csv. Demonstro a seguir como importar tais dados no SGBD MySQL.

Breve introdução aos arquivos comma-separated values (.CSV)

Arquivos CSV armazenam informações em texto puro e são organizadas por uma estrutura muito simples, onde as linhas representam os elementos (registros) e os valores separados por vírgula os atributos (campos).

Aproveitei o período pré-eleições para ilustrar este texto utilizando os dados dos candidatos à Presidência da República, armazenando-os em um arquivo CSV (presidenciaveis.csv).

1,Américo de Souza,PSL,@AmericoPSL
2,Dilma Rousseff,PT,@dilmabr
3,Ivan Pinheiro,PCB,-
4,José Maria Eymael,PSDC,@eymael
5,José Serra,PSDB,@joseserra_
6,Levy Fidélix,PRTB,@levyfidelix
7,Marina Silva,PV,@silva_marina
8,Plínio Sampaio,PSOL,@pliniodearruda
9,Rui Pimenta,PCO,-
10,Zé Maria,PSTU,@zemaria_pstu

Observem que cada candidato está em uma linha (registro) e seus atributos (campos)  estão separados por vírgula. Neste exemplo: código, nome, partido e twitter.

Importando dados de arquivo CSV no MySQL

Para importar os dados do arquivo .CSV no MySQL basta executar uma consulta (query) semelhante a seguir.

LOAD DATA LOCAL INFILE '/home/thiago/presidenciaveis.csv' -- localização do arquivo .csv
INTO TABLE candidatos_presidencia -- tabela cujos dados serão inseridos
FIELDS TERMINATED BY ',' -- caractere utilizado para separar os campos
LINES TERMINATED BY 'n' -- caractere utilizado para separar as linhas
(codigo, nome, partido, twitter) -- campos da tabela onde os dados do arquivo .CSV serão inseridos

Existem softwares que utilizam outros caracteres para definirem os campos e registros (ao invés da vírgula e quebra de linha (n) demostradas neste texto). Para essas situações basta alterar FIELDS TERMINATED BY e LINES TERMINATED BY para os valores utilizados em seu arquivo .CSV.

O Microsoft Excel ou o OpenOffice, por exemplo, separam os caracteres por ponto-e-vírgula ao invés da vírgula.

Textos relacionados:

Esta entrada foi publicada em Dicas e marcada com a tag , , . Adicione o link permanenteaos seus favoritos.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">