importando e exportando csv no mysql

Isso é 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';

22 Comentários on “importando e exportando csv no mysql”

  1. Ricardo disse:

    Correto, mas exporta apenas os dados, e o cabeçalho com o nome das colunas, como faz pra ir junto?

  2. brian siervi disse:

    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!

  3. Will Neves disse:

    Muito bom, resolveu meu problema rapidamente ” ! ! !

  4. Carlos Alberto disse:

    Excelente dica. Valeu!

  5. Lívia disse:

    onde eu coloco o arquivo, pra isso funcionar?

    • emaynarte disse:

      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?!

  6. vegano disse:

    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

    • Gabriel disse:

      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 :]

  7. Vanessa disse:

    Bacana, resolveu 100%!!

  8. Douglas disse:

    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?

  9. Débora disse:

    Tantos scripts de PHP e essas poucas linhas resolveram MUITO bem. Valeuzão!

  10. Edileuza Leão disse:

    Fantástico!!! Muito obrigada mesmo!
    Muito útil

  11. Tonimar Rodrigues disse:

    Muito util esse post…Ajudou muito!

  12. 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.

  13. Priscila disse:

    Muito bom! Salvou minha vida!!!

  14. Leonardo disse:

    Cara, nao corrigiu os acentos…

  15. Mario disse:

    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.

  16. José disse:

    Não funciona.

  17. […] 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 […]

  18. Dornelas disse:

    O post me ajudou muito, Obrigado.


Deixe um comentário