Qual é a maneira mais fácil de importar uma nova tabela em MySQL v5 de CSV?
Pergunta
Estou correndo MySQL 5 em um servidor linux na minha rede local. janelas rodando o XP para o meu desktop. Tinha um olhar para os MySQL GUI Tools mas eu não acho que ajuda . Não consigo instalar o apache no servidor e usar algo remoto como phpMyAdmin.
Solução
Eu uso SQLyog no meu sistema Windows, que tem uma Community Edition gratuita e tem uma opção para a importação de CSV.
Eu nunca usei essa opção mim para que eu não posso te dizer o quão bom ele é. No entanto, SQLyog tem sido ótimo para todas as outras coisas que eu usei-o para.
Outras dicas
tem um olhar @ dados infile carga: http: / /dev.mysql.com/doc/refman/5.0/en/load-data.html
A partir do shell MySQL ou consulta navegador ...
Se o CSV não tem cabeçalho:
LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable;
Se o CSV tem um cabeçalho:
LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable IGNORE 1 LINES;
Gostaria de usar um editor de planilha para fazer um conjunto de instruções SQL. Coloque uma nova coluna na insert into tablename values('
início e add. Adicionar outras colunas para separar os dados com um código como '','
. Termine com '');
. Use o recurso de preenchimento automático para arrastar essas células para baixo para tantas linhas quanto necessário. Copie a folha inteira para um editor de texto simples e remover as guias em excesso, deixando-o com um simples conjunto de instruções de inserção.
Esta é uma solução que eu posso usar para qualquer sistema de banco de dados e qualquer formato de arquivo de planilha. Além disso, é fácil de preencher a planilha de fontes como outros bancos de dados, ou copiando e colando a partir de uma página web. Também é bastante rápido e disponível a partir de qualquer máquina desktop, usando o Excel, OpenOffice ou o Google Docs.
Veja o meu exemplo de planilha em Excel e noreferrer versões do OpenOffice .
Eu apenas fiz isso usando LOAD DATA INFILE
mas é importante notar que não é tão simples como o exemplo de Gareth (Kai é muito justo que você deve olhar para a documentação ). Para valores separados por vírgula corretamente importação, eu usei isso:
LOAD DATA LOCAL INFILE 'mycsvfile.csv' INTO TABLE mytable
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
Isso pressupõe um arquivo CSV com aspas em torno de cada campo e uma única linha de cabeçalho no topo. (Você provavelmente não precisa o LINES TERMINATED BY
uma vez que deve ser o padrão, mas é uma boa prática para ser explícito.)
A aplicação Sapo faz maravilhas e é gratuito. Se você tem um arquivo CSV adequada, ele irá criar a tabela e importar todos os dados para você.
Escrever um simples script Python que analisa o CSV e insere-o na tabela.
Olhe para o CSV e mysqldb módulo.
Se você não se importa com um pouco de software comercial, então Navicat ( http://mysql.navicat.com / ) é um pouco muito útil de software e está disponível para Mac, Windows, Linux. Eu usá-lo regularmente para importar um arquivo CSV grande em um banco de dados.
sapo para MySQL vai fazer isso muito bem, com considerável controlo sobre a importação (correspondentes selectivamente por exemplo) e mais duradoura é grátis.
Eu também usei SQLyog, mas você tem que ter a versão comercial para este como a importação de arquivo não está disponível na edição da comunidade.
Toad é uma excelente pouco de software que vem em versões para todos os principais bancos de dados e eu usei ambas as versões MSSQL e Oracle no passado também. Recomendado.