Hvordan bruke psycopg2 for å koble python til PostgreSql

Hvordan bruke psycopg2 for å koble python til PostgreSql

PostgreSQL er et objektrelasjonelt databasesystem som du kan koble til forskjellige programmeringsspråk. Når du oppretter en Python -applikasjon, kan du koble den til PostgreSQL -databasen. Dessuten er det forenklet å koble Python til PostgreSQL psycopg2 PostgreSQL -databaseradapter.

Når du har installert adapteren på Python -utviklingsmiljøet ditt, kan du utføre alle PostgreSQL -databaseoppgaver direkte fra Python -applikasjonen. Denne guiden dekker forskjellige måter å bruke PSYCOPG2 -databasen -adapteren når du jobber med et Python -skript.

Hvordan bruke psycopg2 for å koble python til PostgreSql

PSYCOPG2 er en Python -modul som du kan installere når du jobber med Python. For denne opplæringen jobber vi med et virtuelt Python. For å installere psycopg2, bruk Pip kommando.

$ pip installer psycopg2-binært

La oss lage en PostgreSQL -database som vi vil jobbe med fra Python -skriptet. Åpne PostgreSQL -konsollen og lag en database som du kobler til fra Python.

Vi har forskjellige brukssaker om hvordan du bruker PsyCOPG2 -modulen for å koble Python til PostgreSQL.

Koble til PostgreSQL -databasene

Det første du må gjøre når du bruker PSYCOPG2 -modulen er å opprette en forbindelse til PostgreSQL -databasen fra Python.

Begynn med å importere PsyCOPG2 -modulen til Python -skriptet. Neste, bruk koble() For å opprette en forekomst av databasen du vil koble til. Merk at du må spesifisere databasenavnet, brukeren og passordet. I noen tilfeller kan du spesifisere verten og porten.

Her er et eksempel:

Med den enkle databasetilkoblingen som er opprettet, må du teste den ved å utføre Python -skriptet for å se om det returnerer den spesifiserte meldingen etter at tilkoblingsobjektet er returnert.

$ python

Opprette et bord

For å utføre PostgreSql -spørsmålene fra Python -skriptet, må du opprette en Markørobjekt å bruke gjennom hele Python -koden. Følgende eksempel bruker markør () For å utføre en spørring for å opprette en tabell i databasen. Videre vedlegger vi koden i en Prøv-bortgangsmessig-finalt for enkel feilsøking. Merk at du bør lukke forbindelse objekt og markør funksjon på slutten av skriptet.

Anta at vi tester vårt Python -skript. Vi bekrefter at vi klarer å lage tabellen og få en feil når vi prøver å utføre skriptet igjen siden vi allerede opprettet tabellen.

Markørobjektet kan brukes med forskjellige metoder. For eksempel setter følgende eksempel inn verdiene i tabellen som er opprettet tidligere. Likevel bruker vi markørobjektet for å spørre databasen og velge alle elementer som vi satte inn ved hjelp av Fetchall ().

Utgangen etter å ha utført skriptet bekrefter at vi klarte å spørre tabellen i vår PostgreSQL -database.

Utførelse

En annen utmerket funksjon å bruke med markørobjektet er Executemany (). Funksjonen er nyttig når du utfører en spørring som påvirker de forskjellige parameter -tuplene i den medfølgende sekvensen. For eksempel bruker vi den til å gjenskape en gitt tabell ved å sette inn flere verdier fra en spesifisert sekvens.

Anta at vi bruker Fetchall () for å spørre verdiene i det gjenskapte bordet. Utgangen gir alle verdiene som er tilgjengelige i den gjenskapte tabellen.

Fetchone

Funksjonen brukes når du vil returnere neste rad i et gitt spørsmålssett. Hvis det ikke er noen neste rad, kommer den tilbake Ingen eller viser den spesifiserte meldingen for å bekrefte at du nådde den siste raden.

I det følgende eksemplet lager vi en mens du er sløyfe For å skrive ut alle verdier fra en gitt tabell. Når vi kommer til den siste raden, bryter vi sløyfen og skriver ut en melding som bekrefter at det ikke er noen neste rad.

Utgangen skriver ut alle verdiene i tabellen og en tilpasset melding når neste rad kommer tilbake Ingen.

Fetchall

I motsetning til Fetchone som returnerer neste rad i spørringssettet, returnerer Fetchall alle de gjenværende radene som en liste over tuples. Anta at den spesifiserte spørringen ikke har noen poster. Det returnerer et tomt sett.

Her er utdataene fra de hentede postene som returneres som en liste over tuples.

Parameterisert spørring

PSYCOPG2 lar deg også bruke de parameteriserte spørsmålene der du oppretter en plassholder for verdier i stedet for å skrive dem direkte i spørringen. På den måten forbedrer du sikkerheten til søknaden din.

Følgende eksempel viser hvordan du bruker de parameteriserte spørsmålene for å holde verdiene for en oppdatering PostgreSQL -spørring.

De foregående eksemplene er de vanlige måtene du kan bruke psycopg2. Du kan se etter flere funksjoner fra dokumentasjonen. Men du forstår nå hva psycopg2 -modulen er og hvordan du bruker den på Python -prosjektet ditt.

Konklusjon

Psycopg2 er en Python -modul som letter forbindelsen mellom Python og PostgreSQL. Vi har sett hvordan du installerer modulen, oppretter en PostgreSQL -databaseforbindelse og bruker de forskjellige objektene og funksjonene til å fungere med en PostgreSQL -database direkte fra Python. Bruk dette fundamentet til å skyrocket din neste Python med PostgreSQL -databaseprosjektet.