Jak uzyskać dostęp do PostgreSQL z Pythonem

Jak uzyskać dostęp do PostgreSQL z Pythonem
Postgresql to niesamowita i nowoczesna ReLational Database MZarządzanie SYSTEM (RDBMS). PostgreSQL jest również bazą danych open source. PostgreSQL to wielkość platformy. Możesz bardzo łatwo zainstalować PostgreSQL w systemie Windows, Mac OS i Linux.

Możesz łatwo wchodzić w interakcje z bazą danych PostgreSQL z językiem programowania Python. Wszystko, co musisz zrobić, to zainstalować moduł Python Psycopg2 z Pip i jesteś gotowy.

W tym artykule pokażę Ci, jak uzyskać dostęp do bazy danych PostgreSQL z Pythonem w Linux. Zamierzam użyć Debian 9 Stretch jako mojego systemu operacyjnego i języka programowania Python 3. Wersja bazy danych PostgreSQL, której zamierzam użyć, to PostgreSQL 9.6. Więc zacznijmy.

Wymagania wstępne:

Ty musisz mieć

  • Każda nowoczesna dystrybucja Linux, taka jak Ubuntu/Debian/Centos itp.
  • Zainstalowany język programowania Pythona.
  • PIP lub PIP3 zainstalowane w zależności od wersji twojego Pythona.
  • Zainstalowany postgreSQL.

Można znaleźć wiele artykułów na Linuxhint.com, który może pomóc skonfigurować PostgreSQL i zainstalować Python+PIP na ulubionym dystrybucji Linux. Po prostu poszukaj tego.

Tworzenie bazy danych PostgreSQL i użytkownika:

W tej sekcji pokażę, jak utworzyć bazę danych PostgreSQL i użytkownika w Linux. Będziemy połączyć się z tą bazą danych z Pythona w dalszej części tego artykułu.

Najpierw dowiedz się nazwy użytkownika logowania za pomocą następującego polecenia:

$ whoami

Jak widać, moja nazwa użytkownika logowania jest Shovon. Twój będzie inny. Upewnij się, że zanotujesz to, ponieważ będziesz tego potrzebować później.

Teraz rozpocznij interaktywny terminal PostgreSQL z następującym poleceniem:

$ sudo -u postgres psql

Należy uruchomić interaktywny terminal PostgreSQL.

Teraz utwórz bazę danych PostgreSQL Pyapp Z następującym poleceniem SQL:

postgres =# Utwórz bazę danych PYApp;

Pyapp Baza danych powinna zostać utworzona.

Teraz musisz utworzyć nowego użytkownika PostgreSQL. Upewnij się również, że nazwa użytkownika jest taka sama jak nazwa użytkownika logowania.

Zrób nowego użytkownika PostgreSQL z następującym poleceniem SQL:

postgres =# Utwórz użytkownika swojego_login_username z zaszyfrowanym hasłem „your_password”;

Uwaga: Wymień twój_login_username I Twoje hasło z własną nazwą użytkownika i hasła logowania.

Należy utworzyć użytkownika PostgreSQL.

Teraz przyznaj nowo utworzonego użytkownika wszystkie uprawnienia do nowo utworzonej bazy danych Pyapp Z następującym poleceniem SQL:

postgres =# dotacja na bazie danych PyApp do twojego_login_username;

Wszystkie przywileje dla Pyapp Baza danych jest przyznawana użytkownikowi logowania.

Teraz wyjdź z terminala PostgreSQL z następującym poleceniem:

postgres =# \ q

Teraz zobaczmy, czy możemy zalogować się do naszej nowo utworzonej bazy danych Pyapp Korzystanie z naszej nazwy użytkownika logowania z następującym poleceniem:

$ psql - -dbname = pyapp - -password

Teraz wpisz hasło ustawione wcześniej dla użytkownika PostgreSQL i naciśnij .

Powinieneś zostać zalogowany.

Instalowanie PsycopG2 z PIP i PIP3:

Teraz czas na zainstalowanie Psycopg2 Moduł Python.

Jeśli używasz Python 3, uruchom następujące polecenie, aby zainstalować Psycopg2:

$ PIP3 Zainstaluj PsycopG2-Binary

Jeśli używasz Python 2, uruchom następujące polecenie, aby zainstalować Psycopg2:

$ PIP Instaluj PsycopG2-Binary

PsycopG2-Binary Moduł PIP powinien być zainstalowany.

Tworzenie katalogu projektu:

Teraz utwórz katalog projektów, Pyapp Z następującym poleceniem:

$ Mkdir Pyapp

I przejdź do katalogu za pomocą następującego polecenia:

$ CD Pyapp

Tutaj utworzę cały skrypt Python, aby uzyskać dostęp do bazy danych PostgreSQL.

Łączenie z bazą danych PostgreSQL:

Najpierw stwórz program Python łączyć.py W katalogu projektu.

Teraz wpisz następujące wiersze i zapisz plik.

Teraz uruchom skrypt połącz.Py z jednym z następujących polecenia:

Dla Pythona 3:

$ Python3 Connect.py

Dla Pythona 2:

$ Python Connect.py

Jak widać, jestem podłączony do bazy danych.

Tutaj online 1, Psycopg2 Moduł jest importowany. W linii 4, Psycopg2.łączyć() Metoda służy do łączenia się z bazą danych PostgreSQL. A próba z wyjątkiem blok służy do złapania błędów, jeśli w przypadku, gdy coś pójdzie nie tak, a połączenie z bazą danych ulegnie awarii.

Wykonanie poleceń SQL:

W tej sekcji utworzę prostą tabelę użytkownicy Za pomocą Pythona Psycopg2

Wpisz następujący kod do nowego skryptu Pythona create_table.py i zachowaj to.

Teraz uruchom skrypt:

$ python3 create_table.py

Jak widać, stół użytkownicy jest tworzone.

Z Psycopg2, jeśli chcesz wykonać polecenie SQL, najpierw musisz utworzyć kursor.

On line 9, stworzyłem kursor z Conn.kursor() metoda i przechowywałem ją do kundel zmienny. Tutaj Conn jest zmienną, w której przechowywałem połączenie bazy danych z Psycopg2.łączyć() metoda.

Następnie wykonujesz polecenie SQL z kursorem jako kundel.exec („your_sql_goes_here”), które zrobiłem w linii 12-17, aby stworzyć użytkownicy tabela.

Jeśli twoje polecenie SQL wprowadza zmiany w bazie danych, z którymi jesteś podłączony, musisz zadzwonić Conn.popełniać() metoda dokonywania zmian na stałe, tak jak to zrobiłem w wierszu 19.

Wstawienie danych do bazy danych PostgreSQL:

Teraz, kiedy masz użytkownicy Gotowy tabelę, wstawmy kilka danych do tabeli.

Utwórz nową wkładkę pliku.Py w katalogu projektu i wpisz następujące kody i zapisz plik.

Teraz uruchom skrypt Python wstawić.py następująco:

$ Python3 Wstaw.py

Dane powinny zostać włożone.

Jak widać w terminalu PostgreSQL.

We wkładce.skrypt py, wiersz 12 cur.Metoda execute () uruchamia zapytanie SQL, aby wstawić do użytkownicy tabela. %Ssą zastąpione ciągami z krotki, drugiego parametru kundel.wykonać() metoda.

Pierwsze wystąpienie %S jest zastąpiony przez pierwszy element krotki, drugi %S jest zastąpiony drugim elementem krotki i tak dalej. Możesz także mieszać typy danych, jeśli chcesz. Na przykład, %D reprezentuje liczbę całkowitą.

Pobieranie danych z bazy danych PostgreSQL:

Teraz możesz pobrać dane, które wprowadziłeś do bazy danych PostgreSQL.

Najpierw utwórz nowy skrypt Python aportować.py i wpisz następujące wiersze kodu. Następnie zapisz plik.

Teraz uruchom scenariusz.Py z następującym poleceniem:

$ Python3 Fetch.py

Jak widać, pobierane przeze mnie dane są pobierane. Wrócił jako krotek, co jest jak tablica.

w aportować.py Skrypt, wszystko jest podobne jak w innych skryptach. Tutaj, kundel.fetchone () Metoda jest używana do zwrócenia pierwszego wiersza tabeli. Jeśli masz wiele wierszy, możesz dzwonić kundel.fetchone () Aby iterować za pośrednictwem listy. Kiedy wszystkie wiersze zostaną zwrócone, kundel.fetchone () wróci Nic.

Dziękujemy za przeczytanie tego artykułu.