Voltar para a lista de artigos Artigos
7 minutos de leitura

Como importar CSVs para o PostgreSQL usando o pgAdmin

Você trabalha com dados e usa arquivos CSV? Aqui está um guia prático sobre como importar esses arquivos para um banco de dados PostgreSQL usando o pgAdmin, um dos melhores editores PostgreSQL do mercado.

Vamos começar a importar CSVs para um banco de dados Postgres. Começaremos explicando o que é um arquivo CSV e, em seguida, apresentaremos o pgAdmin e mostraremos como fazer o processo de importação. Não se preocupe - é fácil!

O que é um arquivo CSV?

CSV é a abreviação de comma-separated values (valores separados por vírgula). É um formato para armazenar dados em arquivos de texto. Esse padrão é suportado por muitos aplicativos e programas, inclusive o Microsoft Office, o LibreOffice e o Google Sheets.

Por que importar arquivos CSV para um banco de dados?

Quando os arquivos CSV são usados? A transferência de dados de um programa ou plataforma para outro é um dos principais usos. Imagine que você precise exportar dados de um banco de dados para uma planilha ou vice-versa. Os CSVs são a maneira mais segura de salvar seus dados; eles são lidos por quase todas as suítes de escritório e sistemas de gerenciamento de banco de dados (DBMSs). Além disso, os CSVs são arquivos de texto e, portanto, são bem pequenos; a transferência até mesmo de grandes conjuntos de dados não é um problema. Essa é uma grande vantagem de usar CSVs.

Dê uma olhada nas diferenças entre armazenar dados em uma tabela e armazená-los em um CSV. Aqui está uma tabela chamada characters. Gostaria de saber se você reconhece os dados que coloquei nela.

IDfirst_namelast_namefamily
1JohnSnowTargaryen
2AryaStarkStark
3TyrionLannisterLannister

Aqui estão as mesmas informações no formato CSV:

ID,first_name,last_name,family
1,John,Snow,Targaryen
2,Arya,Stark,Stark
3,Tyrion,Lannister,Lannister

Esse é um conjunto de dados muito pequeno, mas você pode imaginar como seria com muitas colunas e milhares de linhas. Acho que você entendeu os usos e as vantagens dos CSVs, então vamos passar para a ferramenta que usaremos para importá-los: pgAdmin.

PostgreSQL e pgAdmin

Há algum tempo, meu amigo Ignacio mostrou a você como instalar e configurar o PostgreSQL no Windows 10. Se você leu esse artigo, sabe que o Postgres é fácil de configurar e é um dos DBMSs mais populares do mundo.

Há vários editores SQL diferentes no mercado que oferecem suporte ao PostgreSQL. Eu me acostumei com o pgAdmin e, sinceramente, não vejo sentido em mudar para outro. É uma ótima ferramenta que nunca me deixou na mão.

O que é o pgAdmin? É um programa gráfico de gerenciamento de banco de dados PostgreSQL. Sua versão mais recente é o pgAdmin 4. Ele pode ser usado no Linux, Unix, macOS ou Windows e, por ser de código aberto, é gratuito. Esse será um argumento importante para muitas pessoas. A funcionalidade completa e a ausência de taxas tornam o pgAdmin perfeito para mim. E talvez para você também.

O PgAdmin permite administrar bancos de dados e suas réplicas, criar todos os objetos de banco de dados, emitir consultas e analisar o plano de consulta (apresentado em formato clássico ou gráfico). Também é possível usar o console clássico para escrever nele. Além disso, há muitas extensões que permitem adaptar livremente o programa às suas necessidades.

As alternativas ao pgAdmin incluem DBeaver, Navicat, HeidiSQL e OmniDB. Se você quiser que eu dedique um artigo aos vários editores de SQL existentes - incluindo aqueles para bancos de dados PostgreSQL -, informe-me nos comentários.

Presumo que você já tenha o Postgres e o pgAdmin instalados em seu computador e que os tenha configurado adequadamente. Agora podemos ir direto ao ponto e importar alguns dados.

Como importar CSVs para o PostgreSQL

Vamos voltar ao nosso arquivo characters.csv e tentar importá-lo para o nosso banco de dados por meio do pgAdmin. Há dois métodos e mostrarei a você o que fazer passo a passo.

1. criar uma tabela no pgAdmin

Usando a ferramenta de consulta interna do pgAdmin, você pode primeiro criar uma tabela com uma consulta SQL:

CREATE TABLE characters 
(id serial, 
first_name varchar, 
last_name varchar, 
family varchar
);

Certifique-se de que as colunas tenham os mesmos nomes e valores que os do arquivo CSV.

Em vez de escrever uma consulta SQL, você também pode clicar com o botão direito do mouse em Tables (Tabelas ) na árvore à esquerda. Será exibido um pequeno menu. Selecione Create e, em seguida, Table....

Como importar CSVs para o PostgreSQL usando o PgAdmin

Uma nova janela aparecerá solicitando que você digite um nome para a nova tabela. No nosso caso, será characters.

Como importar CSVs para o PostgreSQL usando o PgAdmin

Na mesma janela, clique na guia Columns (Colunas ) e adicione as colunas apropriadas clicando no botão +. Lembre-se de que os nomes das colunas devem corresponder aos do arquivo CSV. Você também precisará especificar o tipo de dados que cada coluna conterá.

Se você não souber quais tipos de dados inserir, recomendo que faça o curso LearnSQL.com.br Data Types in SQL . É melhor aprender o básico e evitar cometer erros. Sabemos quais dados queremos incluir em cada coluna, portanto, tudo deve ter a seguinte aparência:

Como importar CSVs para o PostgreSQL usando o PgAdmin

Observe que você pode definir a coluna como não NULL e especificar uma chave primária aqui também. Ao clicar em SQL, você pode visualizar a consulta SQL usada para criar a tabela. Por enquanto, não nos preocuparemos com os outros recursos (mais avançados) aqui.

Quando terminar, clique em Save (Salvar). Você acabou de criar uma tabela! Se você não a vir na árvore, clique com o botão direito do mouse em Tables (Tabelas ) e selecione Refresh (Atualizar). Ela deverá aparecer.

2. Importar o arquivo CSV

Novamente, você pode usar a Query Tool e digitar uma consulta SQL. Use a instrução COPY para isso:

COPY characters
FROM 'C:\a\characters.csv' 
DELIMITER ',' 
CSV HEADER;

Na primeira linha, digite o nome de sua tabela. Na segunda linha (após a cláusula FROM ), digite o caminho para o arquivo. No meu caso, é a unidade C e a pasta a. Importante: você precisa especificar o caractere DELIMITERque é o caractere usado para separar os valores no arquivo CSV. Geralmente é uma vírgula, mas pode ser um ponto e vírgula, um espaço ou qualquer outro caractere.

Por fim, use a palavra-chave HEADER para ignorar o cabeçalho (ou seja, a linha que contém os nomes das colunas) ao copiar os dados do CSV.

Como importar CSVs para o PostgreSQL usando o PgAdmin

No nosso caso, o resultado é uma mensagem COPY 3. Isso significa que o pgAdmin copiou três linhas para a nossa tabela. Vamos inserir uma consulta simples para verificar se tudo funcionou:

SELECT * FROM characters;
Como importar CSVs para o PostgreSQL usando o PgAdmin

É claro que, como no caso da criação de uma tabela e da importação de dados de um arquivo CSV, podemos ignorar a consulta e usar o próprio programa. Para fazer isso, basta clicar com o botão direito do mouse em sua tabela na árvore à esquerda e selecionar o item de menu Import/Export....

Como importar CSVs para o PostgreSQL usando o PgAdmin

Será exibida uma janela com o controle deslizante definido como Importar. Em seguida, selecione o arquivo de origem e defina o formato como CSV. Defina o Cabeçalho como Sim se o arquivo tiver um cabeçalho. A única coisa que resta é selecionar o delimitador (geralmente uma vírgula). Sua janela deve ser semelhante a esta:

Quando você clicar em OK, os dados serão importados. E sua tabela está pronta! Agora você pode escrever consultas SQL e analisar dados, combinar dados de outras tabelas, etc. Bem-vinda ao outro lado do espelho, Alice! Você seguiu o Coelho Branco com sucesso.

Bem, importar um arquivo CSV para um banco de dados Postgres foi fácil!

É assim que é simples importar dados de um arquivo CSV para um banco de dados PostgreSQL com o pgAdmin. Há duas maneiras de fazer isso: usando o próprio programa e usando SQL na ferramenta Query Tool e a instrução COPY. Eu uso o pgAdmin porque ele é uma ótima ferramenta para trabalhar com o PostgreSQL. Qual IDE você está usando? Conte-nos nos comentários.

Se você for totalmente iniciante no PostgreSQL, recomendo que faça nosso curso SQL para Iniciantes in PostgreSQL ou SQL de A a Z in PostgreSQL (a trilha principal desse dialeto). Esses são cursos de SQL brilhantes e interativos que ensinarão tudo o que você precisa para trabalhar de forma eficaz com bancos de dados. Não fique para trás; o mundo está apostando no PostgreSQL, inclusive muitas grandes empresas. Por que não experimentá-lo?