importando e exportando csv no mysql
Publicado; abril 17, 2008 Arquivado em: programação, sistema | Tags: arquivo delimitado, csv, export, exportar, import, importar, mysql 22 ComentáriosIsso é realmente útil. Você pode ter um arquivo CSV e importar direto em uma tabela do MySQL, usando o seguinte:
LOAD DATA LOCAL INFILE 'meuarquivo.csv' INTO TABLE minha_tabela FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' (campo1, campo2, campo3, campo4)
De fato, também pode dar um SELECT no MySQL e exportar os dados pra um arquivo no formato CSV, usando o seguinte:
SELECT campo1, campo2, campo3, campo4 FROM minha_tabela INTO OUTFILE '/tmp/meuarquivo.csv' FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n';
Correto, mas exporta apenas os dados, e o cabeçalho com o nome das colunas, como faz pra ir junto?
Muito bom! Salvou a minha vida!
Tentei exportar uma base com mais de 1 milhão de registros e o MySql workbench 5.2 ce não aguentou… aí, desse jeito aí, trocando /tem/meuarquivo.csv por c:/meuarquivo.csv e funfou!
Valeu!
É pq /tmp não é windows, é linux! :P
Viaja não, fio… pensa antes de escrever. c:/ também é…
Muito bom, resolveu meu problema rapidamente ” ! ! !
Excelente dica. Valeu!
onde eu coloco o arquivo, pra isso funcionar?
Você de usar o caminho absoluto do arquivo, por exemplo, no linux
/home/usuario/resultado.csv
No win deve ser algo da forma
c:/meuarquivo.csv
Uma dúvida que encontrei foi com relação a codificação!
Os acentos ficaram todos desconfigurados!! =P
Alguém tem alguma idéia do que pode ser?!
o meu deu o seguinte erro:
• Error: 1265 SQLSTATE: 01000 (ER_WARN_DATA_TRUNCATED)
Message: Dado truncado para coluna ‘%s’ na linha %ld
Alguém sabe como contornar esse problema, de uma maneira fácil ? Estou trabalhando com o windows7 e o MYSQL 5.5.
minha tabela era essa:
codigo gene_id accession gene_name symbol controle_norm tratamento_norm Log2FC
1 114367 NM_131804 nothepsin nots 181.7661519 137.2037628 -0.405763521
2 114378 NM_131806 ephrin B3b efnb3b 1.188014065 1232.308643 10.01859601
3 114401 NM_131807 bcl2-like 1 bcl2l1 1.188014065 1122.882329 9.884439119
Esse erro ocorre quando voce tenta inserir uma quantidade de dados maior que o campo aceita. Verifique se os campos (Fields) do seu arquivo CSV estão separados por “;” e as linhas por “\r\n”(nova linha). Se estiver de outro geito, basta trocar no script, e executar :]
Bacana, resolveu 100%!!
Agora o seguinte, como eu faço para importar um arquivo e que as colunas desse arquivo (ex. plan excel) sejam incluídas nos campos que eu preferir da tabela que eu criei?
Tantos scripts de PHP e essas poucas linhas resolveram MUITO bem. Valeuzão!
Fantástico!!! Muito obrigada mesmo!
Muito útil
Muito util esse post…Ajudou muito!
At first chance I performed to peruse this it
afflicted me with a url not found? I then came back and refreshed and further it loaded,
no idea why just helping you discover.
Muito bom! Salvou minha vida!!!
Cara, nao corrigiu os acentos…
I’m very happy to discover this website. I want to to thank you for your time for this wonderful read!! I definitely loved every part of it and i also have you bookmarked to check out new stuff in your web site.
Não funciona.
[…] o meu servidor é compartilhado, a sintaxe para importar csv direto no sql, não funcionou. Pois o meu usuário do banco não tem acesso a esse tipo de […]
O post me ajudou muito, Obrigado.