PostgreSQL ist ein Objektrelationsdatenbanksystem, das Sie mit verschiedenen Programmiersprachen verknüpfen können. Beim Erstellen einer Python -Anwendung können Sie sie mit der PostgreSQL -Datenbank verbinden. Außerdem ist es dank der vereinfacht, Python mit postgresql zu verbinden, dank der psycopg2 PostgreSQL -Datenbankadapter.
Sobald Sie den Adapter in Ihrer Python -Entwicklungsumgebung installiert haben, können Sie alle PostgreSQL -Datenbankaufgaben direkt aus der Python -Anwendung ausführen. Diese Anleitung deckt verschiedene Möglichkeiten zur Verwendung des PSYCOPG2 -Datenbankadapters bei der Arbeit mit einem Python -Skript ab.
So verwenden Sie PSYCOPG2, um Python mit PostgreSQL zu verbinden
Psycopg2 ist ein Python -Modul, das Sie bei der Arbeit mit Python installieren können. Für dieses Tutorial arbeiten wir an einer virtuellen Python -Umgebung. Verwenden Sie die Installation von PSYCOPG2 die Pip Befehl.
$ pip Installieren Sie Psycopg2-Binärer
Erstellen wir eine PostgreSQL -Datenbank, mit der wir aus dem Python -Skript arbeiten werden. Öffnen Sie Ihre PostgreSQL -Konsole und erstellen Sie eine Datenbank, mit der Sie eine Verbindung von Python herstellen.
Wir haben unterschiedliche Anwendungsfälle zur Verwendung des PSYCOPG2 -Moduls, um Python mit PostgreSQL zu verbinden.
Verbindung zu den Postgresql -Datenbanken herstellen
Das erste, was Sie bei der Verwendung des PSYCOPG2 -Moduls tun müssen, ist, eine Verbindung zur PostgreSQL -Datenbank aus Python zu erstellen.
Beginnen Sie mit dem Importieren des Psycopg2 -Moduls in Ihr Python -Skript. Verwenden Sie als nächstes die verbinden() Erstellen Sie eine Instanz der Datenbank, mit der Sie eine Verbindung herstellen möchten. Beachten Sie, dass Sie den Datenbanknamen, den Benutzer und das Passwort angeben müssen. In einigen Fällen können Sie den Host und den Port angeben.
Hier ist ein Beispiel:
Testen Sie mit der einfachen Datenbankverbindung sie, indem Sie das Python -Skript ausführen, um festzustellen, ob es die angegebene Nachricht zurückgibt, nachdem das Verbindungsobjekt zurückgegeben wurde.
$ python
Erstellen einer Tabelle
Um die PostgreSQL -Abfragen aus Ihrem Python -Skript auszuführen, müssen Sie a erstellen Cursorobjekt im gesamten Python -Code zu verwenden. Das folgende Beispiel verwendet das Mauszeiger() Um eine Abfrage auszuführen, um eine Tabelle in der Datenbank zu erstellen. Darüber hinaus legen wir den Code in a ein Versuchen Sie es mit dem einfachen Debugging. Beachten Sie, dass Sie die schließen sollten Verbindung Objekt und das Mauszeiger Funktion am Ende des Skripts.
Angenommen, wir testen unser Python -Skript. Wir bestätigen, dass wir es schaffen, die Tabelle zu erstellen und einen Fehler zu erhalten, wenn wir versuchen, das Skript erneut auszuführen, da wir die Tabelle bereits erstellt haben.
Das Cursorobjekt kann mit verschiedenen Methoden verwendet werden. Zum Beispiel fügt das folgende Beispiel die Werte in die zuvor erstellte Tabelle ein. Trotzdem verwenden wir das Cursorobjekt, um die Datenbank abzufragen und alle Elemente auszuwählen, die wir mit dem eingefügt haben fetchall ().
Die Ausgabe nach der Ausführung des Skripts bestätigt, dass wir die Tabelle in unserer PostgreSQL -Datenbank abfragen konnten.
Executemany
Eine weitere hervorragende Funktion mit dem Cursorobjekt ist der Executemany (). Die Funktion ist hilfreich bei der Ausführung einer Abfrage, die die verschiedenen Parameter -Tupel in der bereitgestellten Sequenz beeinflusst. Zum Beispiel verwenden wir es, um eine bestimmte Tabelle zu erstellen, indem mehrere Werte aus einer bestimmten Sequenz eingefügt werden.
Angenommen, wir verwenden den Fetchall (), um die Werte in der nachgebildeten Tabelle abzufragen. Die Ausgabe ergibt alle Werte, die in der nachgebildeten Tabelle verfügbar sind.
Fetchone
Die Funktion wird verwendet, wenn Sie die nächste Zeile in einem bestimmten Abfrageergebnissatz zurückgeben möchten. Wenn es keine nächste Reihe gibt, kehrt es zurück Keiner oder zeigt die angegebene Nachricht an, um zu bestätigen, dass Sie die letzte Zeile erreicht haben.
Im folgenden Beispiel erstellen wir a while-Schleife Alle Werte aus einer bestimmten Tabelle zu drucken. Wenn wir in die letzte Zeile kommen, brechen wir die Schleife und drucken eine Nachricht, die bestätigt, dass es keine nächste Zeile gibt.
Die Ausgabe druckt alle Werte in der Tabelle und eine benutzerdefinierte Nachricht, wenn die nächste Zeile zurückgibt Keiner.
Fetchall
Im Gegensatz zu dem Fetchone, der die nächste Zeile im Abfrage -Set zurückgibt, gibt der Fetchall alle verbleibenden Zeilen als Liste von Tupeln zurück. Angenommen, die angegebene Abfrage enthält keine Datensätze. Es gibt ein leeres Set zurück.
Hier ist die Ausgabe der abgerufenen Datensätze, die als Liste von Tupeln zurückgegeben werden.
Parametrisierte Abfrage
Mit dem PSYCOPG2 können Sie auch die parametrisierten Abfragen verwenden, bei denen Sie einen Platzhalter für Werte erstellen, anstatt sie direkt in die Abfrage zu schreiben. Auf diese Weise verbessern Sie die Sicherheit Ihrer Anwendung.
Das folgende Beispiel zeigt, wie die parametrisierten Abfragen verwendet werden.
Die vorherigen Beispiele sind die häufigsten Möglichkeiten, wie Sie den Psycopg2 verwenden können. Sie können nach weiteren Funktionen aus der Dokumentation suchen. Aber Sie verstehen jetzt, was das Psycopg2 -Modul ist und wie Sie es in Ihrem Python -Projekt verwenden können.
Abschluss
Der Psycopg2 ist ein Python -Modul, das die Verbindung zwischen Python und PostgreSQL erleichtert. Wir haben gesehen, wie Sie das Modul installieren, eine PostgreSQL -Datenbankverbindung erstellen und die verschiedenen Objekte und Funktionen verwenden, um mit einer PostgreSQL -Datenbank direkt aus Python zu arbeiten. Verwenden Sie diese Stiftung, um Ihren nächsten Python mit dem PostgreSQL -Datenbankprojekt zu springen.