Articles

Import pliku CSV do tabeli PostgreSQL

Posted on

Podsumowanie: W tym poradniku pokażemy różne sposoby importu pliku CSV do tabeli PostgreSQL.

Po pierwsze, utwórz nową tabelę o nazwie persons z następującymi kolumnami:

  • id: id osoby
  • first_name: imię i nazwisko
  • last_name: nazwisko
  • dob data urodzenia
  • email: adres 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

Po drugie, przygotuj plik danych CSV o następującym formacie:

csv data
csv file

Ścieżka do pliku CSV jest następująca: C:\sampledb\persons.csv

Downlo osób.csv

Import pliku CSV do tabeli przy użyciu instrukcji COPY

Aby zaimportować ten plik CSV do tabeli persons, należy użyć instrukcji COPY w następujący sposób:

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

PostgreSQL zwraca następujący komunikat:

COPY 2
Code language: Shell Session (shell)

To oznacza, że dwa wiersze zostały skopiowane. Sprawdźmy tabelę persons

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

Działa zgodnie z oczekiwaniami.

Zanurzmy się w instrukcji COPY bardziej szczegółowo.

Po pierwsze, określamy tabelę z nazwami kolumn po słowie kluczowym COPY. Kolejność kolumn musi być taka sama jak w pliku CSV. W przypadku, gdy plik CSV zawiera wszystkie kolumny tabeli, nie trzeba ich podawać, na przykład:

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

Po drugie, ścieżkę do pliku CSV umieszczamy po słowie kluczowym FROM. Ponieważ używany jest format pliku CSV, należy podać zarówno klauzule DELIMITER, jak i CSV.

Po trzecie, należy podać słowo kluczowe HEADER, aby wskazać, że plik CSV zawiera nagłówek. Kiedy polecenie COPY importuje dane, ignoruje nagłówek pliku.

Zauważ, że plik musi być odczytany bezpośrednio przez serwer PostgreSQL, a nie przez aplikację kliencką. Z tego powodu musi być on dostępny na serwerze PostgreSQL. Ponadto, aby poprawnie wykonać instrukcję COPY musisz mieć dostęp do superużytkownika.

Import pliku CSV do tabeli za pomocą pgAdmin

Jeśli chcesz zaimportować plik CSV z komputera do tabeli na serwerze bazy danych PostgreSQL, możesz użyć pgAdmin.

Poniższe polecenie obcina persons tabelę, dzięki czemu możesz ponownie zaimportować dane.

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

Najpierw kliknij prawym przyciskiem myszy tabelę persons i wybierz element menu Import/Eksport…:

Po drugie, (1) przełączyć na import, (2) przeglądamy plik importu, (3) wybieramy format jako CSV, (4) wybieramy delimiter jako przecinek (,):

Po trzecie, klikamy zakładkę kolumny, odznaczamy kolumnę id i klikamy przycisk OK:

Na koniec należy poczekać na zakończenie procesu importu. Poniżej pokazane jest okno dialogowe informujące o postępie importu:

W tym tutorialu dowiedziałeś się, jak zaimportować dane z pliku CSV do tabeli na serwerze bazy danych PostgreSQL za pomocą instrukcji COPY oraz narzędzia pgAdmin.

  • Czy ten tutorial był pomocny?
  • TakNie

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *