Hvordan få tilgang til PostgreSql med Python

Hvordan få tilgang til PostgreSql med Python
PostgreSql er en fantastisk og moderne RElational DAtabase MAnagement SYstem (RDBMS). PostgreSQL er også en åpen kildekode -database. PostgreSql er tverrplattform. Du kan installere PostgreSQL på Windows, Mac OS og Linux veldig enkelt.

Du kan enkelt samhandle med PostgreSQL -databasen med Python -programmeringsspråk. Alt du trenger å gjøre er å installere Python -modulen psycopg2 med Pip og du er god til å gå.

I denne artikkelen vil jeg vise deg hvordan du får tilgang til PostgreSQL -databasen med Python på Linux. Jeg skal bruke Debian 9 -strekk som operativsystem og Python 3 -programmeringsspråk. PostgreSql -databasen jeg skal bruke er PostgreSQL 9.6. Så la oss komme i gang.

Forutsetninger:

Du må ha

  • Enhver moderne Linux -distribusjon som Ubuntu/Debian/Centos osv. Installert.
  • Python programmeringsspråk installert.
  • PIP eller PIP3 installert avhengig av versjonen av Python.
  • PostgreSQL installert.

Du kan finne mange artikler om Linuxhint.com som kan hjelpe deg med å sette opp PostgreSQL og installere Python+Pip på din favoritt Linux -distribusjon. Bare søk etter det.

Opprette en PostgreSQL -database og bruker:

I denne delen vil jeg vise deg hvordan du oppretter en PostgreSQL -database og bruker på Linux. Vi kobler til denne databasen fra Python senere i denne artikkelen.

Finn først ut påloggingsbrukernavnet ditt med følgende kommando:

$ whoami

Som du kan se, er det brukernavnet mitt Shovon. Din vil være annerledes. Forsikre deg om at du noterer deg det slik du trenger det senere.

Start nå PostgreSQL Interactive Terminal med følgende kommando:

$ sudo -u postgres psql

PostgreSQL interaktive terminalen skal starte.

Lag nå en PostgreSQL -database Pyapp Med følgende SQL -kommando:

Postgres =# Opprett database PyApp;

De Pyapp Databasen skal opprettes.

Nå må du opprette en ny PostgreSQL -bruker. Forsikre deg også om at brukernavnet er det samme som påloggingsbrukernavnet ditt.

Lag en ny PostgreSQL -bruker med følgende SQL -kommando:

Postgres =# Opprett bruker din_login_usname med kryptert passord 'ditt_passord';

Merk: Erstatt DIN_LOGIN_USNAME og ditt passord Med ditt eget påloggingsbrukernavn og passord.

PostgreSQL -brukeren skal opprettes.

Gi nå den nyopprettede brukeren alle privilegiene til den nyopprettede databasen Pyapp Med følgende SQL -kommando:

postgres =# gi alt på databasen pyapp til ditt_login_usname;

Alle privilegiene for Pyapp Databasen gis til påloggingsbrukeren din.

Gå ut av PostgreSQL -terminalen med følgende kommando:

Postgres =# \ q

La oss nå se om vi kan logge inn på vår nyopprettede database Pyapp Bruke vårt påloggingsbrukernavn med følgende kommando:

$ psql - -dbname = pyApp -Password

Skriv nå inn passordet du angir tidligere for din PostgreSQL -bruker og trykk .

Du skal være logget inn.

Installere psycopg2 med PIP og PIP3:

Nå er det på tide å installere psycopg2 Python -modul.

Hvis du bruker Python 3, kan du kjøre følgende kommando for å installere psycopg2:

$ pip3 installer psycopg2-binært

Hvis du bruker Python 2, kan du kjøre følgende kommando for å installere psycopg2:

$ pip installer psycopg2-binært

PSYCOPG2-BINARY PIP -modulen skal installeres.

Opprette prosjektkatalogen:

Lag nå en prosjektkatalog, Pyapp med følgende kommando:

$ mkdir pyapp

Og naviger til katalogen med følgende kommando:

$ CD PyApp

Det er her jeg vil lage alt Python -skriptet for å få tilgang til PostgreSQL -databasen.

Koble til PostgreSQL -databasen:

Først må du lage et Python -program koble.py I prosjektkatalogen din.

Skriv nå inn følgende linjer og lagre filen.

Kjør nå skriptforbindelsen.py med en av følgende kommandoer:

For Python 3:

$ Python3 Connect.py

For Python 2:

$ Python Connect.py

Som du kan se, er jeg koblet til databasen.

Her på linje 1, den psycopg2 Modulen importeres. På linje 4, psycopg2.koble() Metoden brukes til å koble til PostgreSQL -databasen. EN prøve-bortsett fra Block brukes til å fange feil hvis noe i tilfelle noe går galt og tilkobling til databasen mislykkes.

Utføre SQL -kommandoer:

I denne delen vil jeg lage en enkel tabell Brukere Bruker Python psycopg2

Skriv inn følgende kode til et nytt Python -skript create_table.py og lagre det.

Kjør nå skriptet:

$ python3 create_table.py

Som du kan se, bordet Brukere er skapt.

Hvis du vil utføre en SQL -kommando, må du først opprette en markør hvis du vil utføre en SQL -kommando.

På linje 9 opprettet jeg en markør med Conn.markør () metode og lagret den til Cur variabel. Her Conn er variabelen der jeg lagret databasetilkoblingen fra psycopg2.koble() metode.

Så utfører du SQL -kommandoen med markøren som Cur.exec (“Your_sql_goes_here”), som jeg gjorde på linje 12-17 for å lage en Brukere bord.

Hvis SQL -kommandoen din gjør endringer i databasen du er koblet til, må du ringe Conn.begå() metode for å gjøre endringene permanente som jeg gjorde på linje 19.

Sett inn data i PostgreSQL -databasen:

Nå som du har Brukere Tabell klar, la oss sette inn noen data i tabellen.

Opprett en ny filinnsats.PY inn i prosjektets katalog og skriv inn følgende koder og lagre filen.

Kjør nå Python -skriptet sett inn.py følgende:

$ python3 innsats.py

Dataene bør settes inn.

Som du kan se i PostgreSQL -terminalen.

I innsatsen.py manus, linje 12 cur.Execute () -metoden kjører SQL -spørringen for å sette inn i Brukere bord. De %s's erstattes av strengene fra tupelen, den andre parameteren til Cur.henrette() metode.

Den første forekomsten av %s erstattes av det første elementet i tupelen, det andre %s erstattes av det andre elementet i tupelen og så videre. Du kan også blande datatyper hvis du vil. For eksempel, %d representerer integer.

Hente data fra PostgreSQL -databasen:

Nå kan du hente dataene du har satt inn i PostgreSQL -databasen.

Opprett først et nytt Python -skript hente.py og skriv inn følgende kodelinjer. Lagre deretter filen.

Kjør nå skriptet henter.PY med følgende kommando:

$ python3 henter.py

Som du ser blir dataene jeg satte inn hentet. Det er returnert som en tuple, som er litt som en matrise.

I hente.py manus, alt er likt som i andre skript. Her, Cur.fetchone () Metoden brukes til å returnere den første raden i tabellen. Hvis du har mange rader, kan du fortsette å ringe Cur.fetchone () å iterere gjennom listen. Når alle radene blir returnert, Cur.fetchone () vil returnere Ingen.

Takk for at du leste denne artikkelen.