Alguém pode explicar como importar um arquivo do Microsoft Excel para um banco de dados MySQL?
Por exemplo, minha tabela do Excel tem esta aparência:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
Respostas:
Exporte-o para algum formato de texto. O mais fácil provavelmente será uma versão delimitada por tabulações, mas CSV também pode funcionar.
Use o recurso de carregamento de dados. Veja http://dev.mysql.com/doc/refman/5.1/en/load-data.html
Olhe no meio da página, pois dará um bom exemplo para dados separados por tabulação:
CAMPOS TERMINADOS POR '\ t' INCLUÍDOS POR '' ESCAPADO POR '\'
Verifique seus dados. Às vezes, citar ou escapar tem problemas e você precisa ajustar sua fonte, comando de importação - ou pode ser mais fácil de pós-processar via SQL.
fonte
Existe uma ferramenta online simples que pode fazer isso chamada sqlizer.io .
Você carrega um arquivo XLSX nele, insere um nome de planilha e intervalo de células, e isso irá gerar uma instrução CREATE TABLE e um monte de instruções INSERT para importar todos os seus dados em um banco de dados MySQL.
(Aviso: Eu ajudo a executar o SQLizer)
fonte
Abaixo está outro método para importar dados de planilha para um banco de dados MySQL que não depende de nenhum software extra. Vamos supor que você deseja importar sua tabela do Excel para a
sales
tabela de um banco de dados MySQL denominadomydatabase
.Selecione as células relevantes:
Cole no Mr. Data Converter e selecione a saída como MySQL:
Altere o nome da tabela e as definições de coluna para atender aos seus requisitos na saída gerada:
CREATE TABLE sales ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Country VARCHAR(255), Amount INT, Qty FLOAT ); INSERT INTO sales (Country,Amount,Qty) VALUES ('America',93,0.60), ('Greece',9377,0.80), ('Australia',9375,0.80);
Se você estiver usando o MySQL Workbench ou já estiver conectado a
mysql
partir da linha de comando, poderá executar as instruções SQL geradas a partir da etapa 3 diretamente. Caso contrário, cole o código em um arquivo de texto (por exemplo,import.sql
) e execute este comando a partir de um shell Unix:mysql mydatabase < import.sql
Outras maneiras de importar de um arquivo SQL podem ser encontradas nesta resposta do Stack Overflow .
fonte
Na verdade, existem várias maneiras de importar um arquivo do Excel para um banco de dados MySQL com vários graus de complexidade e sucesso.
Excel2MySQL . Sem dúvida, a maneira mais fácil e rápida de importar dados do Excel para o MySQL. Suporta todas as versões do Excel e não requer instalação do Office.
LOAD DATA INFILE : Esta opção popular é talvez a mais técnica e requer algum conhecimento da execução do comando MySQL. Você deve criar manualmente sua tabela antes de carregar e usar tipos de campo VARCHAR de tamanho apropriado. Portanto, seus tipos de dados de campo não são otimizados. LOAD DATA INFILE tem problemas para importar arquivos grandes que excedem o tamanho 'max_allowed_packet'. É necessária atenção especial para evitar problemas na importação de caracteres especiais e caracteres Unicode estrangeiros. Aqui está um exemplo recente que usei para importar um arquivo csv chamado test.csv.
phpMyAdmin : Selecione seu banco de dados primeiro e, a seguir, selecione a guia Importar. phpMyAdmin criará automaticamente sua tabela e dimensionará seus campos VARCHAR, mas não otimizará os tipos de campo. phpMyAdmin tem problemas para importar arquivos grandes que excedem o tamanho 'max_allowed_packet'.
MySQL para Excel : Este é um suplemento gratuito do Excel da Oracle. Esta opção é um pouco tediosa porque usa um assistente e a importação é lenta e com erros com arquivos grandes, mas pode ser uma boa opção para arquivos pequenos com dados VARCHAR. Os campos não são otimizados.
fonte
Não tenho certeza se você tem toda essa configuração, mas para mim estou usando PHP e MYSQL. Então, eu uso uma classe PHP PHPExcel. Isso pega um arquivo em quase qualquer formato, xls, xlsx, cvs, ... e então permite que você leia e / ou insira.
Então, o que acabo fazendo é carregar o Excel em um objeto phpexcel e, em seguida, percorrer todas as linhas. Com base no que desejo, escrevo um comando SQL insert simples para inserir os dados do arquivo excel em minha tabela.
No front-end é um pouco trabalhoso, mas é apenas uma questão de ajustar alguns dos exemplos de código existentes. Mas quando você tem que fazer alterações na importação é simples e rápido.
fonte
a melhor e mais fácil maneira é usar o aplicativo "MySQL for Excel" que é um aplicativo gratuito da oracle. este aplicativo adicionou um plugin para excel para exportar e importar dados para mysql. você pode baixar isso aqui
fonte
Ao usar arquivos de texto para importar dados, tive problemas com aspas e como o Excel estava formatando os números. Por exemplo, minha configuração do Excel usou a vírgula como separador decimal em vez do ponto.
Agora eu uso o Microsoft Access 2010 para abrir minha tabela MySql como uma tabela vinculada. Lá, posso simplesmente copiar e colar células do Excel para o Access.
Para fazer isso, primeiro instale o driver ODBC do MySql e crie uma conexão ODBC . Em seguida, no acesso, na guia "Dados externos", abra a caixa de diálogo "Banco de dados ODBC" e vincule a qualquer tabela usando a conexão ODBC.
Usando o MySql Workbench , você também pode copiar e colar seus dados do Excel na grade de resultados do MySql Workbench. Dei instruções detalhadas nesta resposta .
fonte
Para ver um exemplo passo a passo de como importar o Excel 2007 para o MySQL com a codificação correta (UTF-8), pesquise este comentário:
"Postado por Mike Laird em 13 de outubro de 2010 às 12h50"
no próximo URL:
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
fonte
Você pode usar DocChow , um GIU muito intuitivo para importar Excel para o MySQL, e é gratuito na maioria das plataformas comuns (incluindo Linux).
Mais especialmente se você estiver preocupado com a data, tipos de dados datetime, DocChow manipula facilmente tipos de dados. Se você estiver trabalhando com várias planilhas do Excel que deseja importar para uma tabela MySQL, o DocChow fará o trabalho sujo.
fonte
Etapa 1 Crie seu arquivo CSV
Etapa 2 faça login em seu servidor mysql
Etapa 3 carregar seu arquivo csv
load data local infile '//home/my-sys/my-excel.csv' into table my_tables fields terminated by ',' enclosed by '"' (Country, Amount,Qty);
fonte
Outra ferramenta útil, e como substituto do front-end do MySQL, é o Toad para MySQL . Infelizmente, não é mais compatível com Quest , mas um IDE brilhante para MySQL, com assistentes IMPORT e EXPORT, atendendo à maioria dos tipos de arquivo.
fonte