Articles

Importar ficheiro CSV para a tabela PostgreSQL

Posted on

Resumo: neste tutorial, mostraremos várias formas de importar um ficheiro CSV para uma tabela PostgreSQL.

P>Primeiro, crie uma nova tabela chamada persons com as seguintes colunas:

  • id: a pessoa id
  • first_name: primeiro nome
  • last_name: último nome
  • dob data de nascimento
  • email: o endereço de e-mail
CREATE TABLE persons ( id SERIAL, first_name VARCHAR(50), last_name VARCHAR(50), dob DATE, email VARCHAR(255), PRIMARY KEY (id))
Code language: SQL (Structured Query Language) (sql)
posgresql import csv

Segundo, preparar um ficheiro de dados CSV com o seguinte formato:

csv data
csv file

O caminho do ficheiro CSV é o seguinte: C:\sampledb\persons.csv

Downlo the persons.csv file

Importar um ficheiro CSV para uma tabela utilizando a declaração COPY

Para importar este ficheiro CSV para a tabela persons, usa-se COPY declaração como se segue:

COPY persons(first_name, last_name, dob, email)FROM 'C:\sampledb\persons.csv'DELIMITER ','CSV HEADER;
Code language: SQL (Structured Query Language) (sql)

PostgreSQL devolve a seguinte mensagem:

COPY 2
Code language: Shell Session (shell)

Significa que foram copiadas duas filas. Vamos verificar o personstabela.

SELECT * FROM persons;
Code language: SQL (Structured Query Language) (sql)

Funciona como esperado.

Div>Div>Div>Div>COPYPrimeiro, especificar a tabela com nomes de coluna após a palavra-chave COPY. A ordem das colunas deve ser a mesma que a do ficheiro CSV. Caso o ficheiro CSV contenha todas as colunas da tabela, não precisa de as especificar explicitamente, por exemplo:

COPY sample_table_nameFROM 'C:\sampledb\sample_data.csv' DELIMITER ',' CSV HEADER;
Code language: SQL (Structured Query Language) (sql)

segundo, coloca o caminho do ficheiro CSV após a FROM palavra-chave. Porque o formato de ficheiro CSV é utilizado, é necessário especificar DELIMITER assim como CSV clauses.

Third, especificar o HEADER keyword para indicar que o ficheiro CSV contém um cabeçalho. Quando o comando COPY importa dados, ignora o cabeçalho do ficheiro.

Notificação de que o ficheiro deve ser lido directamente pelo servidor PostgreSQL, e não pela aplicação cliente. Por conseguinte, deve ser acessível pela máquina do servidor PostgreSQL. Além disso, é necessário ter acesso de superutilizador para executar a declaração COPY com sucesso.

Importar ficheiro CSV para uma tabela usando pgAdmin

Caso necessite de importar um ficheiro CSV do seu computador para uma tabela no servidor de base de dados PostgreSQL, pode usar a pgAdmin.

A seguinte declaração truncata a tabela persons para que possa reimportar os dados.

TRUNCATE TABLE persons RESTART IDENTITY;
Code language: SQL (Structured Query Language) (sql)

P>Primeiro, clique com o botão direito do rato na tabela persons e seleccione o item de menu Importar/Exportar..:

Segundo, (1) mudar para importação, (2) navegar para o ficheiro de importação, (3) seleccionar o formato como CSV, (4) seleccionar o delimitador como vírgula (,):

/3, clique no separador de colunas, desmarque a coluna id, e clique no botão OK:

Finalmente, aguarde que o processo de importação esteja concluído. O seguinte mostra o diálogo que o informa sobre o progresso da importação:

Neste tutorial, aprendeu como importar dados de um ficheiro CSV para uma tabela no servidor de base de dados PostgreSQL utilizando a ferramenta COPY declaração e pgAdmin.

  • Este tutorial foi útil ?
  • Sim Não
  • Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *