Tutorial de LOAD DATA em MySQL

Escrito por kristen waters | Traduzido por josé fabián
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Tutorial de LOAD DATA em MySQL
Use o comando LOAD DATA para carregar dados à sua base de dados facilmente (Thinkstock Images/Comstock/Getty Images)

O MySQL usa as sentenças "INSERT" e "LOAD DATA" para inserir registros em uma tabela de uma base de dados. "INSERT" carrega um registro de vez, enquanto o "LOAD DATA" importa dados de um arquivo de texto externo. A sentença "LOAD DATA" lê rapidamente o arquivo de texto, linha por linha, o que o deixa muito mais rápido do que um "INSERT" quando vários registros são ingressados de uma só vez.

Outras pessoas estão lendo

Criando o arquivo de texto

Cada linha de texto deve corresponder a um registro (linha) na tabela. Os valores de cada coluna devem ser separados por uma tabulação e quaisquer valores nulos ou faltantes devem ser representados com "\N".

Por exemplo, se você tiver uma tabela com endereços e os nomes das colunas forem "nome", "sobrenome", "endereço" e "cep", você pode criar um arquivo como o seguinte e salvá-lo como "endereços.txt". Segue um exemplo dentro de aspas: "Kris Miller 301 Anywhere St 17598 Steve Fetterhoff 305 St. Elsewhere Ave 17989 James Smith 623 Kensington Ct 98539". O arquivo deve ter as colunas na mesma ordem do que a tabela. Se você não tiver certeza da ordem, digite o comando "DESCRIBE tabela;", substituindo "tabela" pelo nome da tabela.

Carregar os dados

Para carregar os dados na tabela, você precisa se conectar ao servidor MySQL e selecionar a base de dados correta. Ao chegar ao prompt "mysql>", digite o seguinte comando:

LOAD DATA LOCAL INFILE '/home/usuario/endereços.txt' INTO TABLE endereços GO

A rota exata ao arquivo deve ser especificada depois da palavra "INFILE" e encerrada com aspas simples. O exemplo acima mostra uma rota de Linux/Unix; em um computador com Windows seria similar a "C:\Documents and Settings\usuario\endereços.txt". Além disso, se o arquivo for criado no editor de textos do Windows, especifique o terminador de linha "\r\n" no comando LOAD DATA usando a seguinte sintaxe:

LOAD DATA LOCAL INFILE '/home/user/endereços.txt' INTO TABLE endereços LINES TERMINATED BY '\r\n' GO

Quando o prompt "mysql>" retornar, você poderá verificar que os dados foram carregados corretamente com a seguinte consulta:

SELECT * FROM endereços GO

Essa consulta retornará o conjunto de registros completo da tabela "endereços" com formato de linhas e colunas.

Opções do LOAD DATA

A sentença LOAD DATA possui algumas opções que lhe permitirão usar um formato alternativo para o seu arquivo de texto e gerenciar a importação de dados. Por exemplo, acima foi usada a opção "LOCAL". Essa opção indica que o arquivo deve ser procurado no computador cliente. Se estiver conectado ao servidor MySQL e omitir a opção, o arquivo será buscado diretamente no servidor.

A opção "REPLACE" indica que as linhas devem ser substituídas com a mesma chave principal do que a linha no arquivo. Uma chave principal é o valor que identifica cada registro de uma tabela. A opção "IGNORE" faz com que toda linha que duplicar uma chave principal existente seja omitida. Estas duas opções devem ser indicadas depois do nome do arquivo e antes da palavra "INTO", por exemplo:

LOAD DATA LOCAL INFILE '/home/user/endereços.txt' REPLACE INTO TABLE endereços GO

Você também pode especificar que os campos são separados por um caractere diferente à tabulação, por exemplo por vírgulas, como em arquivos de valores separados por vírgulas (CSV), usando a opção "TERMINATED BY". Essa opção deve ser usada depois do nome do arquivo, com a seguinte sintaxe:

LOAD DATA LOCAL INFILE '/home/user/endereços.txt' REPLACE INTO TABLE endereços FIELDS TERMINATED BY ',' GO

Para ver mais opções que você pode usar na sentença "LOAD INTO", leia a documentação de usuário do MySQL (veja o link em "Recursos").

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível