1. Introdução à Importação de Arquivos CSV no MySQL
Importar arquivos CSV para o MySQL é uma forma poderosa de simplificar a gestão de dados e eliminar a necessidade de inserção manual. Por exemplo, quando você precisa importar em massa informações coletadas de múltiplas fontes de dados para um banco de dados, ou processar automaticamente dados de sistemas externos, a importação de CSV torna‑se extremamente útil.
Casos de Uso Comuns para Importação de CSV
- Processamento de Grandes Volumes de Dados : Em vez de inserir manualmente milhares de registros, você pode processá‑los rapidamente usando a importação de CSV.
- Migração de Dados : Conveniente ao importar dados exportados de outros sistemas para o MySQL.
- Atualizações Regulares de Dados : Sistemas que exigem atualizações periódicas podem automatizar o processo usando arquivos CSV.
2. Pré‑requisitos
Antes de importar um arquivo CSV para o MySQL, são necessárias várias configurações e preparações. Elas garantem um processo de importação de dados tranquilo e sem erros.
2.1 Ambiente Necessário
- Instalação do MySQL Server Presume‑se que o MySQL esteja devidamente instalado. Certifique‑se de que o MySQL esteja em execução corretamente no seu ambiente, seja ele Windows, macOS ou Linux.
- Verificar Permissões Necessárias Para importar um CSV, o usuário MySQL deve possuir privilégios adequados. Em particular, a permissão de execução para
LOAD DATA INFILEé exigida. Sem esse privilégio, a importação pode ser negada.
2.2 Formato de Arquivo CSV
- Delimitador Arquivos CSV são tipicamente separados por vírgulas, mas em alguns casos podem usar tabulações ou ponto‑e‑vírgula. Verifique previamente qual delimitador está sendo usado.
- Verificar Codificação Se um CSV for salvo com uma codificação de caracteres diferente (como UTF‑8 ou Shift‑JIS), pode ocorrer corrupção de caracteres durante a importação. Verifique a codificação do arquivo antecipadamente e converta‑a se necessário.

3. Importando CSV com o Comando LOAD DATA INFILE
A forma mais comum de importar um arquivo CSV para o MySQL é usando o comando LOAD DATA INFILE. Esse comando permite carregar facilmente grandes quantidades de dados em um banco de dados.
3.1 Sintaxe Básica
A seguir está a sintaxe básica usada para importar um CSV para o MySQL.
LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
FIELDS TERMINATED BY: Define o delimitador de campo. Normalmente usa‑se a vírgula.LINES TERMINATED BY: Define o delimitador de linha. Geralmente utiliza‑se\n(nova linha).
3.2 Execução de Exemplo
O exemplo a seguir importa um arquivo chamado user_data.csv para a tabela users.
LOAD DATA INFILE '/path/to/user_data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
IGNORE 1 LINES: Ignora a primeira linha (cabeçalho) do arquivo CSV. Essa opção é útil quando os nomes das colunas estão incluídos na primeira linha.
3.3 Notas Importantes: Caminho do Arquivo e Permissões
Ao especificar o caminho do arquivo, ele deve estar localizado em um diretório acessível ao servidor MySQL. Se o servidor não puder acessar o arquivo, use LOAD DATA LOCAL INFILE para carregar os dados a partir do cliente.
4. Soluções para Problemas Comuns
A seguir, soluções para problemas frequentes que ocorrem durante a importação de arquivos CSV.
4.1 Problemas com Caminho de Arquivo
Se o caminho do arquivo não for especificado corretamente, você pode receber uma mensagem de erro como The MySQL server is not permitted to read from the file. Nesse caso, verifique se o caminho do arquivo no lado do servidor está correto. Também é possível usar a opção LOAD DATA LOCAL INFILE para carregar um arquivo local.
LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
4.2 Problemas de Codificação de Caracteres
Se o arquivo for salvo com uma codificação de caracteres diferente, pode ocorrer corrupção de caracteres durante a importação. Para evitar esse problema, verifique a codificação do arquivo previamente e especifique o conjunto de caracteres adequado no MySQL.
SET NAMES 'utf8mb4';
5. Exemplo Prático: Procedimento de Importação de CSV
Aqui, explicamos o procedimento passo a passo para importar um arquivo CSV real no MySQL.
5.1 Preparando o Arquivo CSV
Crie um arquivo CSV (data.csv) com o seguinte conteúdo.
id,name,age
1,Taro Yamada,28
2,Hanako Sato,34
3,Ichiro Tanaka,45
5.2 Executando o Comando
Execute o seguinte comando para importar o arquivo CSV criado na tabela users.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
Este comando importa os dados a partir da segunda linha do arquivo CSV na tabela users.
6. Avançado: Tratamento de Erros e Prevenção de Dados Duplicados
Esta seção explica como lidar com erros durante a importação de CSV e como tratar dados duplicados.
6.1 Tratamento de Dados Duplicados
Se dados com a mesma chave já existirem, você pode usar a opção REPLACE para sobrescrever linhas duplicadas com novos dados.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
REPLACE;
6.2 Tratamento de Erros
Se erros ocorrerem durante a importação, mas você quiser continuar o processamento, use a opção IGNORE. Isso pula linhas problemáticas e importa os dados restantes válidos.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
IGNORE;
7. Conclusão
Importar arquivos CSV no MySQL é uma ferramenta poderosa para lidar eficientemente com grandes conjuntos de dados e migrar dados entre sistemas. Ao entender os procedimentos básicos e implementar estratégias adequadas de tratamento de erros e prevenção de duplicatas, você pode alcançar importações de dados estáveis e confiáveis.
Em artigos futuros, também explicaremos como exportar dados de um banco de dados MySQL em detalhes. Continue aprimorando suas habilidades de gerenciamento de dados.


