Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in das Psycopg2-Modul in Python

Einführung in das Psycopg2-Modul in Python

WBOY
WBOYnach vorne
2023-08-19 16:01:053264Durchsuche

Einführung in das Psycopg2-Modul in Python

Wir wissen, dass Python eine Programmiersprache ist, die zur Erfüllung verschiedener Aufgaben in Bereichen wie Datenanalyse, KI, maschinelles Lernen usw. verwendet wird. Und natürlich gibt es verschiedene Module mit speziellen Funktionen, die uns bei dieser Aufgabe helfen.

In ähnlicher Weise interagiert der Python-Code mit der PostgreSQL-Datenbank über ein Modul namens „Psycopg2-Modul“. Es ist ein beliebter PostgreSQL-Datenbankadapter für Python. Dieses Modul stellt uns eine Reihe von Funktionen und Klassen zur Verfügung, die uns bei Datenbankverbindungen, Ergebnisverarbeitung und Abfrageausführung unterstützen.

Hauptfunktionen des Psycopg2-Moduls in Python

  • Datenbankverbindung: Das Psycopg2-Modul in Python verfügt über eine „connect()“-Funktion. Diese Funktion hilft beim Herstellen einer Verbindung zur PostgreSQL-Datenbank. Wir können dieser Funktion Parameter wie Datenbankname, Benutzername, Passwort und Host übergeben, die uns helfen, eine Verbindung zur Datenbank unserer Wahl herzustellen

  • Abfrageausführung: Das Psycopg2-Modul ermöglicht es uns, SQL-Abfragen für eine verbundene PsycopgSQL-Datenbank einzugeben. Die Methode „execute()“ hilft uns beim Ausführen von SQL-Anweisungen wie SELECT für den Zugriff auf Daten und INSERT, UPDATE und DELETE für Datenoperationen.

  • Vorkompilierte Anweisungen: Die Optimierung von SQL-Abfragen ist eine sehr nützliche Funktion des Psycopg2-Moduls. Die einmalige Vorbereitung einer SQL-Abfrage und deren mehrfache Ausführung mit unterschiedlichen Parametern kann zu großen Leistungsverbesserungen führen.

  • Transaktionsmanagement: Psycopg2 stellt uns eine Funktion zur Verfügung, die uns hilft, Transaktionen zu verwalten, Änderungen innerhalb einer Transaktion zu übernehmen und alles rückgängig zu machen. Transaktionen stellen die Integrität und Konsistenz von Daten sicher, indem sie mehrere gruppieren Datenbankoperationen in einer einzigen Einheit.

  • Fehlerbehandlung: Psycopg2 behandelt Fehler und Ausnahmen im Zusammenhang mit Datenbanken und liefert uns detaillierte Fehlermeldungen und Informationen, die uns beim Debuggen von Problemen mit der Datenbankverbindung oder der Abfrageausführung helfen.

  • Ergebnisverarbeitung: Nach der Ausführung einer Abfrage stellt uns das Psycopg2-Modul Methoden zum Abrufen der Ergebnismenge, zum Durchlaufen der Zeilen und zum Zugriff auf die zurückgegebenen Daten zur Verfügung. Wir können einzelne Spalten abrufen oder auf Zeilen als Wörterbücher zugreifen, um die Datenbearbeitung zu erleichtern.

  • Datentypkonvertierung: Psycopg2 konvertiert Python-Objekte automatisch in die entsprechenden von PostgreSQL unterstützten Datentypen. umgekehrt. Es unterstützt verschiedene integrierte PostgreSQL-Datentypen wie Ganzzahlen, Zeichenfolgen, Datumsangaben, JSON usw.

Installation des Postgre2-Moduls in Python

Hier verwenden wir den Befehl pip, um das Psycopg2-Modul zu installieren. Wir müssen sicherstellen, dass die neueste Version von pip verwendet wird. Im Terminal müssen wir Folgendes eingeben:

pip install -U pip
pip install psycopg2-binary

Diese Befehle installieren die Binärversion von Pycopg2, für die keine Build- oder Laufzeitvoraussetzungen erforderlich sind.

So verwenden Sie das Modul

Das Psycopg2-Modul bietet viele Anwendungen, beispielsweise das Herstellen einer Verbindung zwischen Python-Code und einer PostgreSQL-Datenbank. Hier ist der Code, der genau das tut:

Beispiel

import psycopg2

DB_NAME = "tkgafrwp"
DB_USER = "tkgafrwp"
DB_PASS = "iYYtLAXVbid-i6MV3NO1EnU-_9SW2uEi"
DB_HOST = "tyke.db.elephantsql.com"
DB_PORT = "5692"

try:
   conn = psycopg2.connect(database=DB_NAME,
                user=DB_USER,
                password=DB_PASS,
                host=DB_HOST,
                port=DB_PORT)
   print("Database connected successfully")
except:
   print("Database not connected successfully")

Hier können wir beobachten, dass der Datenbankname, der Datenbankbenutzer, das Passwort, der Host und der Port in verschiedenen Variablen gespeichert wurden. Um den Code so robust wie möglich zu machen, verwenden wir dann Try- und Accept-Blöcke. Innerhalb des try-Blocks verwenden wir die Funktion „connect()“, um den Python-Code mit der PostgreSQL-Datenbank zu verbinden. Diese Funktion verwendet alle Informationen, die wir in verschiedenen Variablen gespeichert haben

Nachdem wir eine Verbindung zur Datenbank hergestellt haben, möchten wir auf jeden Fall einige nützliche Vorgänge in der Datenbank ausführen können. Wir können Python-Code verwenden, um SQL-Abfragen zu generieren! Der folgende Codeausschnitt soll dies demonstrieren:

Beispiel

import psycopg2

DB_NAME = "tkgafrwp"
DB_USER = "tkgafrwp"
DB_PASS = "iYYtLAXVbid-i6MV3NO1EnU-_9SW2uEi"
DB_HOST = "tyke.db.elephantsql.com"
DB_PORT = "5692"

conn = psycopg2.connect(database=DB_NAME,
                user=DB_USER,
                password=DB_PASS,
                host=DB_HOST,
                port=DB_PORT)
print("Database connected successfully")

cur = conn.cursor()
cur.execute("""
CREATE TABLE Employee
(
   ID INT  PRIMARY KEY NOT NULL,
   NAME TEXT NOT NULL,
   EMAI TEXT NOT NULL
)
""")
conn.commit()
print("Table Created successfully")

Hier erstellen wir einen Cursor mit der Funktion „cursor()“ und speichern ihn dann in der Variablen „cur“. Dann geben wir das Format einer mehrzeiligen Zeichenfolge ein und geben die SQL-Abfrage ein, die dann in die Datenbank eingefügt wird Wir verwenden die Funktion commit(), um diese Änderungen auf die Datenbank anzuwenden.

Das Einfügen von Daten in bestehende Tabellen ist ebenfalls möglich! Zuvor haben wir die Tabelle erstellt und dann die Daten in die Tabelle eingegeben. Der folgende Codeausschnitt zeigt es uns:

Beispiel

import psycopg2

DB_NAME = "tkgafrwp"
DB_USER = "tkgafrwp"
DB_PASS = "iYYtLAXVbid-i6MV3NO1EnU-_9SW2uEi"
DB_HOST = "tyke.db.elephantsql.com"
DB_PORT = "5692"

conn = psycopg2.connect(database=DB_NAME,
                user=DB_USER,
                password=DB_PASS,
                host=DB_HOST,
                port=DB_PORT)
print("Database connected successfully")

cur = conn.cursor()
cur.execute("""
   INSERT INTO Employee (ID, NAME, EMAIL) VALUES
   (1, 'Virat Kohli','viratk@gmail.com'),
   (2,' Lionel Messi','leomessi87@gmail.com')
 """)
conn.commit()
conn.close()

Hier verwenden wir die Funktionexecute(), um die SQL-Anweisungen auszuführen, um Daten in die vorhandene Tabelle einzufügen.

Neben dem Einfügen von Daten in die eigentliche Datenbank und deren Anzeige auf dem Server können wir die Daten auch im Python-Terminal anzeigen. Aber zuerst müssen wir ein Modul namens „mysqlx“ installieren. Auch bei der Arbeit mit SQL-Datenbanken ist dieses Modul sehr hilfreich. Hier ist der Code:

Beispiel

from mysqlx import Rows
import psycopg2

DB_NAME = "tkgafrwp"
DB_USER = "tkgafrwp"
DB_PASS = "iYYtLAXVbid-i6MV3NO1EnU-_9SW2uEi"
DB_HOST = "tyke.db.elephantsql.com"
DB_PORT = "5692"

conn = psycopg2.connect(database=DB_NAME,
                user=DB_USER,
                password=DB_PASS,
                host=DB_HOST,
                port=DB_PORT)
print("Database connected successfully")

cur = conn.cursor()
cur.execute("SELECT * FROM Employee")
rows = cur.fetchall()
for data in rows:
   print("ID :" + str(data[0]))
   print("NAME :" + data[1])
   print("EMAIL :" + data[2])

print('Data fetched successfully and shown on the terminal!')
conn.close()

Hier haben wir die Zeilen aus dem Modul „mysqlx“. Dann durchlaufen wir mithilfe einer for-Schleife jede Zeile der Tabelle. Auf diese Weise erhalten wir alle Daten für jede Zeile.

Das obige ist der detaillierte Inhalt vonEinführung in das Psycopg2-Modul in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen