Como importar dados de arquivos de texto para um banco de dados SQL

Este artigo explica o procedimento para importar dados armazenados em arquivos de texto para um banco de dados SQL. Usando arquivos de texto no formato CSV como exemplo, descrevemos passo a passo como importar dados de maneira eficiente para bancos de dados SQL, como MySQL e PostgreSQL. A importação de dados para um banco de dados SQL facilita a gestão de dados e a execução de consultas, melhorando a eficiência das análises e da criação de relatórios.

Índice

Ferramentas necessárias e preparação

Explicaremos as ferramentas necessárias e a preparação prévia para importar dados de arquivos de texto para um banco de dados SQL. É necessário ter as seguintes ferramentas prontas:

Editor de texto

Prepare um editor de texto (ex.: Notepad++, Sublime Text) para verificar e editar o conteúdo do arquivo CSV.

Banco de dados SQL

Certifique-se de que o banco de dados SQL a ser utilizado (ex.: MySQL, PostgreSQL) esteja instalado. Verifique também o nome de usuário, senha e informações do host do banco de dados.

Cliente de banco de dados

É necessário ter uma ferramenta cliente para se conectar ao banco de dados (ex.: MySQL Workbench, pgAdmin). Se for usar a linha de comando, certifique-se de que as ferramentas adequadas estejam instaladas.

Arquivo CSV

Prepare o arquivo CSV que contém os dados a serem importados. Verifique a estrutura e o conteúdo do arquivo CSV com antecedência para garantir uma importação suave.

Com estas ferramentas prontas, passamos agora para o processo de importação propriamente dito.

Preparação do arquivo CSV

Explicaremos o formato e o conteúdo do arquivo CSV. Preparar os dados no formato correto é a chave para uma importação suave.

Formato do arquivo CSV

O arquivo CSV é composto por valores separados por vírgula (Comma-Separated Values). Atente-se aos seguintes pontos ao formatar:

Linha de cabeçalho

Recomenda-se incluir os nomes das colunas na primeira linha do arquivo CSV. Isso permitirá que o banco de dados reconheça automaticamente os nomes das colunas durante a importação.

id,name,age,email
1,John Doe,30,johndoe@example.com
2,Jane Smith,25,janesmith@example.com

Linhas de dados

Cada linha de dados deve conter valores na ordem correspondente à linha de cabeçalho. Os valores devem ser separados por vírgula, e strings devem ser cercadas por aspas duplas quando necessário.

3,Emily Davis,22,emilydavis@example.com
4,Michael Brown,35,michaelbrown@example.com

Validação dos dados

Verifique se não há erros ou inconsistências nos dados do arquivo CSV. Atenção especial para os seguintes pontos:

  • Campos obrigatórios não devem estar ausentes.
  • Os tipos de dados (ex.: numérico, string) devem estar corretos.
  • Não deve haver uso incorreto de vírgulas ou aspas.

Depois de preparar os dados, passamos para a configuração do banco de dados SQL.

Configuração do banco de dados SQL

Antes de importar os dados, é necessário configurar o banco de dados e a tabela. Aqui, explicamos como criar o banco de dados e definir as tabelas.

Criação do banco de dados

Primeiro, crie um banco de dados para armazenar os dados do CSV. Abaixo está um exemplo usando MySQL.

CREATE DATABASE mydatabase;

O mesmo procedimento se aplica ao PostgreSQL.

CREATE DATABASE mydatabase;

Criação da tabela

Em seguida, crie uma tabela para armazenar os dados do arquivo CSV. Defina as colunas da tabela com base na linha de cabeçalho do CSV. Abaixo está um exemplo de criação de tabela no MySQL, usando o exemplo de CSV anterior.

USE mydatabase;

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    email VARCHAR(100)
);

No PostgreSQL, o procedimento é semelhante.

\c mydatabase;

CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    age INT,
    email VARCHAR(100)
);

Verificação da conexão com o banco de dados

Após criar o banco de dados e a tabela, use uma ferramenta cliente (ex.: MySQL Workbench, pgAdmin) para verificar a conexão com o banco. Se estiver usando a linha de comando, pode verificar a conexão da seguinte maneira:

MySQL:

mysql -u username -p mydatabase

PostgreSQL:

psql -U username -d mydatabase

Agora que o banco de dados e a tabela estão configurados, passamos para os passos de importação dos dados do CSV para o banco de dados SQL.

Passos para importação (linha de comando)

Abaixo estão os detalhes dos passos para importar dados de arquivos CSV para bancos de dados SQL usando a linha de comando, tanto no MySQL quanto no PostgreSQL.

No caso do MySQL

No MySQL, pode-se usar o comando LOAD DATA INFILE para importar os dados CSV.

Passo 1: Verificar a localização do arquivo CSV

Certifique-se de que o arquivo CSV está presente no servidor. Por exemplo, vamos supor que o arquivo está em /path/to/your/file.csv.

Passo 2: Conectar ao banco de dados

Conecte-se ao banco de dados MySQL.

mysql -u username -p mydatabase

Passo 3: Importar os dados

Use o comando LOAD DATA INFILE para importar os dados.

LOAD DATA INFILE '/path/to/your/file.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(id, name, age, email);

Este comando importa os dados do arquivo CSV para a tabela users. O parâmetro IGNORE 1 LINES ignora a linha de cabeçalho.

No caso do PostgreSQL

No PostgreSQL, pode-se usar o comando \copy para importar dados CSV.

Passo 1: Verificar a localização do arquivo CSV

Certifique-se de que o arquivo CSV está presente no servidor. Por exemplo, vamos supor que o arquivo está em /path/to/your/file.csv.

Passo 2: Conectar ao banco de dados

Conecte-se ao banco de dados PostgreSQL.

psql -U username -d mydatabase

Passo 3: Importar os dados

Use o comando \copy para importar os dados.

\copy users(id, name, age, email) FROM '/path/to/your/file.csv' CSV HEADER;

Este comando importa os dados do arquivo CSV para a tabela users. A opção CSV HEADER ignora a linha de cabeçalho.

Com isso, concluímos os passos de importação usando a linha de comando. Agora, passaremos para os passos de importação usando ferramentas GUI.

Passos para importação (ferramentas GUI)

Agora, detalharemos os passos para importar dados CSV para um banco de dados SQL usando ferramentas GUI, como MySQL Workbench e pgAdmin.

No caso do MySQL Workbench

Passo 1: Abrir o MySQL Workbench

Abra o MySQL Workbench e conecte-se ao banco de dados desejado.

Passo 2: Selecionar a tabela

No painel de navegação à esquerda, selecione a tabela de destino (ex.: users).

Passo 3: Importar os dados

Clique com o botão direito na tabela e selecione Table Data Import Wizard.

Passo 4: Especificar o arquivo CSV

No campo File Path, insira o caminho do arquivo CSV a ser importado. Você pode clicar no botão Browse para selecionar o arquivo.

Passo 5: Configurar as opções de importação

Na tela de Column Mapping, faça a correspondência entre as colunas do arquivo CSV e as colunas da tabela. Normalmente, isso é feito automaticamente, mas ajustes podem ser necessários.

Passo 6: Executar a importação

Clique em Next para iniciar o processo de importação. O progresso será exibido, e uma notificação será enviada quando a importação for concluída.

No caso do pgAdmin

Passo 1: Abrir o pgAdmin

Abra o pgAdmin e conecte-se ao banco de dados desejado.

Passo 2: Selecionar a tabela

No painel de navegação à esquerda, selecione a tabela de destino (ex.: users) e clique com o botão direito para selecionar Import/Export.

Passo 3: Especificar o arquivo CSV

No campo Filename, insira o caminho do arquivo CSV a ser importado. Você pode clicar no botão Browse para selecionar o arquivo.

Passo 4: Configurar as opções de importação

No menu suspenso Format, selecione CSV. Marque a caixa de seleção Header para ignorar a linha de cabeçalho do arquivo CSV.

Passo 5: Mapear as colunas

No campo Columns, insira os nomes das colunas do arquivo CSV e os nomes correspondentes das colunas na tabela. Por exemplo:

id, name, age, email

Passo 6: Executar a importação

Clique no botão OK para iniciar o processo de importação. O progresso será exibido, e uma notificação será enviada quando a importação for concluída.

Com isso, concluímos os passos de importação usando ferramentas GUI. A seguir, falaremos sobre como verificar a importação e resolver problemas comuns.

Verificação e solução de problemas após a importação

Após a conclusão da importação, verifique se os dados foram importados corretamente e saiba como resolver problemas comuns que podem surgir.

Verificação após a importação

Para verificar os dados importados, execute uma consulta SQL. Use uma ferramenta cliente ou linha de comando para visualizar o conteúdo da tabela.

No caso do MySQL

USE mydatabase;
SELECT * FROM users;

No caso do PostgreSQL

\c mydatabase
SELECT * FROM users;

Execute esta consulta para verificar se os dados foram importados corretamente. Verifique se todas as linhas foram inseridas corretamente e se não há dados faltando ou incorretos.

Solução de problemas comuns

Se houver problemas durante a importação, tente as seguintes soluções de problemas:

Incompatibilidade de tipos de dados

Verifique se os tipos de dados no arquivo CSV correspondem aos tipos de dados das colunas na tabela. Por exemplo, a coluna de idade deve conter apenas números.

Dados duplicados

Se houver uma chave primária ou restrição de unicidade, dados duplicados podem causar falhas na importação. Remova os dados duplicados previamente.

Tratamento de valores NULL

Se uma coluna da tabela não permitir valores NULL, trate adequadamente os valores NULL no arquivo CSV. Defina valores padrão, se necessário.

Caminho do arquivo e permissões de acesso

Verifique se o caminho do arquivo CSV está correto e se o banco de dados tem permissão para acessar o arquivo. Isso é especialmente importante ao executar o processo no servidor.

Verificação de mensagens de erro

Ao encontrar problemas durante a importação, verifique as mensagens de erro para identificar a causa do problema. Muitas vezes, elas indicam o que precisa ser corrigido.

Se o problema persistir, consulte os arquivos de log do banco de dados para obter mais informações detalhadas.

Reconstrução de índices da tabela

Após importar grandes volumes de dados, pode ser necessário reconstruir os índices da tabela. Isso melhora o desempenho do banco de dados.

No caso do MySQL

ALTER TABLE users ENGINE=InnoDB;

No caso do PostgreSQL

REINDEX TABLE users;

Com isso, completamos a verificação e solução de problemas após a importação. Verifique se a importação foi realizada corretamente e inicie a operação do banco de dados.

Resumo

Explicamos o procedimento para importar dados de arquivos de texto para um banco de dados SQL. Abaixo, um resumo das principais etapas abordadas neste artigo:

  1. Ferramentas necessárias e preparação
    Preparamos as ferramentas necessárias (editor de texto, banco de dados SQL, cliente de banco de dados) e o arquivo CSV.
  2. Preparação do arquivo CSV
    Verificamos se os dados estão no formato correto e realizamos a validação dos dados.
  3. Configuração do banco de dados SQL
    Criamos o banco de dados e a tabela e verificamos a conexão com o banco de dados.
  4. Passos para importação (linha de comando)
    Usamos as ferramentas de linha de comando do MySQL e PostgreSQL para importar dados do arquivo CSV.
  5. Passos para importação (ferramentas GUI)
    Explicamos os passos para importar dados usando as ferramentas GUI MySQL Workbench e pgAdmin.
  6. Verificação e solução de problemas após a importação
    Verificamos se os dados foram importados corretamente e discutimos soluções para problemas comuns.

A importação de dados é uma tarefa fundamental e importante no gerenciamento de bancos de dados. Use os passos descritos neste artigo para importar dados de maneira eficiente e garantir uma operação tranquila do seu banco de dados.

Índice