Neste artigo, exploraremos uma técnica importante de trabalhar com tabelas PostgreSQL – importação e exportação de dados para e de arquivos CSV. Seja você um iniciante ou um usuário experiente de SQL, entender esse processo é crucial para trabalhar com bancos de dados relacionais.
Exportando uma Tabela PostgreSQL para um Arquivo CSV
A exportação de uma tabela para um arquivo CSV é um recurso comumente usado na gestão prática de bancos de dados. Vamos começar criando uma tabela e inserindo alguns dados nela:
CREATE TABLE livros(
id SERIAL PRIMARY KEY,
nome_livro VARCHAR,
nome_autor VARCHAR,
genero VARCHAR
);
INSERT INTO livros(nome_livro, nome_autor, genero)
VALUES('Diga-me seus sonhos', 'Sidney Sheldon', 'suspense'),
('Harry Potter', 'J. K. Rowling', 'ficção'),
('James Bond', 'Ian Fleming', 'suspense'),
('O que a Índia jovem quer', 'Chetan Bhagat', 'não-ficção');
Uma vez que a tabela é criada e populada, podemos exportá-la para um arquivo CSV usando a seguinte sintaxe:
COPY nome_tabela TO 'caminho/nome_arquivo.csv' CSV HEADER;
Por exemplo, para exportar a tabela ‘livros’ para um arquivo CSV chamado ‘livros.csv’ localizado em ‘C:/livros.csv’, usaríamos o seguinte comando:
COPY livros TO 'C:/livros.csv' CSV HEADER;
Verifique se o caminho especificado tem permissão de leitura/escrita, caso contrário, ocorrerá um erro de ‘permissão negada’.
O arquivo CSV criado com sucesso conterá os dados da tabela em um formato separado por vírgulas.
Exportando Colunas Selecionadas para um Arquivo CSV
Se você deseja exportar apenas colunas específicas de uma tabela, pode modificar a consulta de exportação de acordo. Por exemplo, para exportar apenas as colunas ‘nome_livro’ e ‘nome_autor’ da tabela ‘livros’, você usaria a seguinte consulta:
COPY (SELECT nome_livro, nome_autor FROM livros) TO 'C:/livros.csv' CSV HEADER;
Importando um Arquivo CSV para uma Tabela PostgreSQL
Para importar dados de um arquivo CSV para uma tabela PostgreSQL, você pode usar a consulta ‘COPY FROM’. Primeiro, certifique-se de que a tabela esteja vazia ou a esvazie para melhor compreensão:
TRUNCATE TABLE livros;
Em seguida, execute a consulta ‘COPY FROM’ para importar dados do arquivo CSV:
COPY livros(nome_livro, nome_autor, genero)
FROM 'C:/livros1.csv' DELIMITER ',' CSV HEADER;
A mensagem ‘COPY 2’ indica que dois registros foram importados com sucesso para a tabela. Você pode verificar a importação executando uma consulta SELECT.
É importante observar que a tabela deve existir no banco de dados antes de executar a importação. Além disso, o usuário deve estar logado como superusuário para executar o comando ‘COPY FROM’. Certifique-se de que o arquivo CSV esteja em um local acessível e tenha as permissões necessárias para que todos possam acessá-lo.
Importação/Exportação via PgAdmin
Se você preferir uma interface gráfica, o PgAdmin oferece uma maneira conveniente de importar e exportar dados para e de um arquivo CSV. Basta navegar até Schemas -> Table -> Import/Export Data e selecionar a opção apropriada. Você também pode escolher as colunas específicas para a operação de importação/exportação.
Conclusão
A importação e exportação de dados para e de arquivos CSV é uma habilidade essencial para trabalhar com tabelas PostgreSQL. Esperamos que este artigo tenha fornecido uma compreensão clara do processo e sua importância. Dominando essa técnica, você pode gerenciar eficientemente seu banco de dados e realizar tarefas de análise de dados.