Kurs PostgreSQL 11 – Import/Export danych CSV cz.32

Print Friendly, PDF & Email

Do tej pory dane do bazy dodawane zostały przy pomocy polecenia Insert. Czy jest ono złe? No cóż, nie jednak czy widzisz siebie wpisującego 10 000 rekordów do bazy ręcznie? Raczej nie bardzo. Dlatego warto wiedzieć, w jaki sposób wcześniej przygotowane dane dodać do bazy (hurtem) oraz w jaki sposób wyciągnąć je do edycji dla użytkownika.

Dlatego też w tym wpisie nieco dłuższym niż zwykle przedstawię dwie umiejętności: Import oraz Export danych. Dane będą przechowywane w pliku .csv.

Import danych do bazy PostgreSQL

Dane do bazy można dodać na dwa sposoby: z poziomu SQL oraz przy pomocy opcji Import/Export pgAdmina.

Jednak na początek należy utworzyć nową tabelę, która będzie nazywała się persons (osoby). Użyj poniższego zapytania do jej utworzenia.

Tabela zawiera następujące dane: Imię, Nazwisko, Datę urodzenia, Adres email.

Podejście SQL

Przykładowy plik z danymi możesz pobrać z tego miejsca. Zapisz go najlepiej na dysku C:\dane (nadaj odpowiednie uprawnienia do katalogu, aby był dostępny do importu).

Mając już nową tabelę oraz przykładowe dane w pliku .csv możesz przystąpić do działania.

Na początek otwórz nowe okno Query Tool w pgAdmin.

W odpowiedzi otrzymasz COPY 2, ponieważ w pliku .cvs znajdują się dwie testowe osoby. Jeżeli wszystko pójdzie dobrze, do tabeli zostaną dodane testowe dane.

Kopia danych do nowej tabeli

Teraz do ich wypisania wystarczy użyć.

W odpowiedzi pojawią się te dane.

Wynik polecenia SELECT

Podejście GUI pgAdmin

Teraz czas na jeszcze wygodniejszy sposób dodawania danych. Na początek warto usunąć lub wyczyścić dane w tabeli persons.

Usunięcie tabel PGAdmin

Przed zaimportowaniem danych należy wykonać jeszcze jedna zapytanie, które pozwoli bez żadnych błędów zaimportować dane z pliku .csv, w przeciwnym wypadku pojawi się błąd Oid. Otwórz Query Tool dla tabeli persons.

Teraz czas na import danych wprost z pliku.

Import danych z pliku

W kolejnym oknie musisz wybrać kilka opcji, które zostały zaznaczone na czerwono, czyli:

  • Import,
  • Ścieżkę do pliku .csv,
  • Format – csv,
  • Header – Yes,
  • Delimiter – czyli przecinek (,), jako znak rozdzielający dane w pliku
Ustawienia importu danych

Następnie przejść na zakładkę Columns i usuń kolumnę id (poprzez najechanie na znak x, obok niego).

Import danych – kolumny

Następnie zatwierdź pozostałe kolumny poprzez OK.

Zatwierdzenie importu

Dane zostaną poprawnie zaimportowane i będą widoczne, identycznie jak miało to miejsce w poprzednim podejściu.

Obrazek posiada pusty atrybut alt; plik o nazwie image-2.png
Wynik importu

Export danych

Dane również możesz eksportować na kilka sposobów. O czym w tej części.

Podejście SQL

Mając testowe dane w tabeli persons, możesz je wyciągnąć do pliku .csv.

Najprostsze podejście to pobranie wszystkie co znajduje się w tabeli. Dane zostaną zapisanie w pliku persons_backup1.csv, jako separator użyj ponownie przecinka (,). W pliku wynikowym znajdują się wszystkie nazwy kolumn (łącznie z id).

Możesz również wyeksportować tylko konkretne kolumny, w tym przypadku nazwisko oraz adres email osoby.

Podejście GUI pgAdmin

Teraz podejście przy pomocy GUI.

Export danych z bazy

W nowym oknie wybierz taką konfigurację.

Konfiguracja exportu

Następnie przejdź na zakładkę Columns. Usuń kolumny, których nie chcesz wyeksportować, pozostałe znajdą się w pliku.

Export danych – kolumny

Dane zostały wyeksportowane we wskazane miejsce.

Podsumowanie

W tym wpisie to tyle, import lub export danych jest stosunkowo prosty, na pewno wygodniej wykonuje się go z poziomu GUI niż przy pomocy Query Tool, ale zawsze dobrze mieć wybór.


Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT