Direkt zum Inhalt

Verwalten von PostgreSQL-Datenbanken in Python mit psycopg2

Entdecke, wie du mit dem Python-Paket psycopg2 PostgreSQL-Datenbanken erstellst, dich mit ihnen verbindest und sie verwaltest.
Aktualisierte 21. März 2025  · 14 Min. Lesezeit

Daten sind das Herzstück fast jeder digitalen Anwendung, die du dir vorstellen kannst. Von mobilen Apps und Computerspielen bis hin zu Banking-Tools und autonomen Fahrzeugen - alles basiert auf Daten. Wo werden all diese Daten gespeichert? Die Antwort sind Datenbanken. 

Eine Datenbank ist eine organisierte Sammlung von strukturierten Daten, die in der Regel elektronisch in einem Computersystem gespeichert werden. Trotz der jüngsten Entwicklung neuer Datenbanktypen (die für das wachsende Volumen und die Variabilität von Daten entwickelt wurden), wird immer noch ein beträchtlicher Teil der Daten weltweit in sogenannten relationalen Datenbanken gespeichert. Relationale Datenbanken speichern Daten als Sammlungen von vordefinierten Tabellen mit Zeilen und Spalten, die durch eine oder mehrere Beziehungen miteinander verbunden sind. 

Die Fähigkeit, Daten aus diesen Datenbanken zu verarbeiten und zu extrahieren, ist eine wichtige Fähigkeit in der Datenindustrie und wird immer stärker nachgefragt. Die Standardmethode zur Erstellung und Verwaltung von Datenbanken ist SQL (Structured Query Language). SQL ist der Grundstein für einige der beliebtesten relationalen Datenbanken auf dem Markt, wie PostgreSQL, Microsoft SQL Server, MySQL und SQLite.

In diesem Lernprogramm konzentrieren wir uns auf PostgreSQL-basierte Datenbanken und wie du sie mit Python erstellen, verbinden und verwalten kannst. Das Tandem aus SQL und Python ist eine der wichtigsten Fähigkeiten, die du auf deiner Reise durch die Datenwissenschaft beherrschen solltest. Um Python mit PostgreSQL zu verbinden, verwenden wir das Paket psycopg2, den beliebtesten PostgreSQL-Datenbankadapter für Python. Bist du bereit für die Herausforderung? Lass uns loslegen!

PostgreSQL verstehen

PostgreSQL ist eine schlanke, kostenlose und quelloffene relationale Datenbank. Aufgrund der bewährten Architektur, der Zuverlässigkeit, der Datenintegrität und der reibungslosen Integration mit anderen beliebten Programmiersprachen wie Python und R ist PostgreSQL in der Branche äußerst beliebt und wird von Unternehmen aller Größen und Regionen genutzt. 

PostgreSQL nutzt und erweitert die SQL-Sprache in Kombination mit vielen Funktionen, die die kompliziertesten Datenworkloads sicher speichern und skalieren. 

Um PostgreSQL nutzen zu können, musst du es zunächst auf deinem Computer installieren. Auf der offiziellen PostgreSQL-Website findest du viele gebrauchsfertige Pakete und Installationsprogramme für PostgreSQL sowie ein Quellcode-Archiv für verschiedene Plattformen und Anwendungsfälle.

Für dieses Tutorial verwenden wir Postgres App, eine einfache, native macOS-App, die alle Funktionen enthält, die für den Einstieg in PostgreSQL erforderlich sind. Aber bedenke, dass alle anderen verfügbaren Pakete genauso gültig sind und die PostgreSQL-Syntax zum Ausführen von Abfragen in allen Paketen gleich ist.

Wenn du mehr über PostgreSQL wissen willst, schau dir unseren Beginner's Guide to PostgreSQL und die zahlreichen SQL-Kurse an.

psycopg2 verstehen

Um eine Verbindung zu einer Datenbank herzustellen, die bereits in deinem System oder im Internet angelegt ist, musst du Python anweisen, wie es diese erkennen soll. Mit anderen Worten: Du musst Python mitteilen, dass die Datenbank, die dich interessiert, eine PostgreSQL-Datenbank ist. 

In Python hast du mehrere Möglichkeiten, aus denen du wählen kannst. In diesem Fall werden wir psycopg2 verwenden, den wahrscheinlich beliebtesten PostgreSQL-Datenbankadapter für Python. Psycopg2 benötigt ein paar Voraussetzungen, um auf deinem Computer richtig zu funktionieren. Sobald du sie installiert hast (lies die Dokumentation für weitere Informationen), kannst du psycopg2 wie jedes andere Python-Paket installieren:

pip install psycopg2

Wenn du psycopg2 ganz einfach nutzen möchtest, kannst du auch psycopg2-binary installieren, eine eigenständige Version des Pakets, die keinen Compiler oder externe Bibliotheken benötigt. Dies ist die bevorzugte Installation für neue Nutzer.

pip install psycopg2-binary

Wenn du Python in einer Conda-Umgebung verwendest, solltest du die psycopg2 über die Anaconda-Installation:

conda install -c anaconda psycopg2

Nachdem du nun alles vorbereitet hast, kannst du mit psycopg2 deine erste Verbindung zu deiner PostgreSQL-Sitzung herstellen!

Verbindung zwischen Python und PostgreSQL

Um mit Python mit einer PostgreSQL-Datenbank interagieren zu können, müssen wir eine Verbindung herstellen. Dies geschieht mit der Funktion psycopg2 connect(), die eine neue Datenbanksitzung erstellt und eine neue Verbindungsinstanz zurückgibt.

In diesem Lernprogramm verbinden wir uns mit einer Datenbank namens "datacamp_courses", die lokal gehostet wird. 

conn = psycopg2.connect(database = "datacamp_courses", 
                        user = "datacamp", 
                        host= 'localhost',
                        password = "postgresql_tutorial",
                        port = 5432)

Die grundlegenden erforderlichen Verbindungsparameter sind:

  • Datenbank. Der Name der Datenbank.
  • Benutzer. Benutzername, der für die Authentifizierung erforderlich ist.
  • Passwort. Passwort, das für die Authentifizierung verwendet wird.
  • Gastgeber. Adresse des Datenbankservers (in unserem Fall wird die Datenbank lokal gehostet, aber es könnte auch eine IP-Adresse sein).
  • port. Nummer des Verbindungsports (standardmäßig 5432, wenn nicht angegeben).

Werde Dateningenieur

Baue Python-Kenntnisse auf, um ein professioneller Dateningenieur zu werden.
Jetzt kostenlos loslegen

Erstellen einer Tabelle in PostgreSQL

Es ist an der Zeit, deine erste Tabelle in der Datenbank datacamp_courses zu erstellen. Wir wollen eine Tabelle mit Informationen über einige der Kurse im DataCamp-Kurskatalog erstellen. Die Tabelle hat das folgende Schema: 

Die Spezifikation gibt uns eine ganze Reihe von Informationen über die Spalten der Tabelle. Der Primärschlüssel der Tabelle sollte course_idlauten und der Datentyp eine ganze Zahl sein. Ein Primärschlüssel ist eine Einschränkung, die erzwingt, dass die Spaltenwerte nicht null und eindeutig sind. Damit kannst du eine bestimmte oder eine Gruppe von Instanzen in der Tabelle eindeutig identifizieren. 

Die übrigen Spalten enthalten Informationen über den Kursnamen, den Namen der Lehrkraft und das Thema des Kurses.

Bevor du die Tabelle erstellst, ist es wichtig zu erklären, wie die Verbindungsinstanz funktioniert, die du gerade erstellt hast. Im Wesentlichen kapselt die Verbindung eine Datenbanksitzung und ermöglicht es dir, SQL-Befehle und Abfragen wie SELECT, INSERT, CREATE, UPDATE oder DELETE mit der Methode cursor() auszuführen und Änderungen mit der Methode commit() dauerhaft vorzunehmen .

Sobald du die Cursor-Instanz erstellt hast, kannst du Befehle an die Datenbank senden, indem du die execute() Methode Befehle an die Datenbank senden und Daten aus einer Tabelle abrufen, indem du fetchone(), fetchmany(), oder fetchall().

Schließlich ist es wichtig, den Cursor und die Verbindung zur Datenbank zu schließen, wenn du deine Operationen beendet hast. Andernfalls werden sie weiterhin serverseitige Ressourcen halten. Dazu kannst du dieMethode close() verwenden.

Unten findest du den Code, um die Tabelle datacamp_courses zu erstellen:

# Open a cursor to perform database operations
cur = conn.cursor()
# Execute a command: create datacamp_courses table
cur.execute("""CREATE TABLE datacamp_courses(
            course_id SERIAL PRIMARY KEY,
            course_name VARCHAR (50) UNIQUE NOT NULL,
            course_instructor VARCHAR (100) NOT NULL,
            topic VARCHAR (20) NOT NULL);
            """)
# Make the changes to the database persistent
conn.commit()
# Close cursor and communication with the database
cur.close()
conn.close()

Dies ist ein sehr einfaches Beispiel dafür, wie man Tabellen in PostgreSQL erstellt, aber die Dinge können noch viel komplexer werden. Wenn du mehr darüber erfahren möchtest, wie du eine PostgreSQL-Datenbank erstellst und die Struktur, die Datentypen und die Normalisierung von Datenbanken kennenlernen möchtest, schau dir unseren PostgreSQL-Datenbank erstellen Kurs.

Ausführen grundlegender PostgreSQL-Abfragen in Python

Die Tabelle datacamp_courses ist fertig; jetzt ist es an der Zeit, mit SQL einige grundlegende Abfragen durchzuführen!

EINFÜGEN 

Du hast vielleicht bemerkt, dass die Tabelle bisher noch keine Werte enthält. Um Datensätze in der Tabelle datacamp_courses zu erstellen, brauchen wir den Befehl INSERT.

cur = conn.cursor()

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to SQL','Izzy Weber','Julia')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Analyzing Survey Data in Python','EbunOluwa Andrew','Python')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to ChatGPT','James Chapman','Theory')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Introduction to Statistics in R','Maggie Matsui','R')");

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES('Hypothesis Testing in Python','James Chapman','Python')");

conn.commit()
cur.close()
conn.close()

Die Tabelle sieht wie folgt aus:

course_id

course_name

course_instructor

topic

1

Einführung in SQL

Izzy Weber

Julia

2

Analysieren von Umfragedaten in Python

EbunOluwa Andrew

Python

3

Einführung in ChatGPT

James Chapman

Theorie

4

Einführung in die Statistik in R

Maggie Matsui

R

5

Hypothesentests in Python

James Chapman

Python

SELECT 

Das Lesen von Daten in SQL-Datenbanken ist wahrscheinlich etwas, das du auf deiner Reise durch die Datenwissenschaft häufig tun wirst. Dies wird im Allgemeinen als SELECT Abfrage bezeichnet. Schauen wir uns erst einmal an, wie sich die Tabelle datacamp_courses verhält.

Wir rufen die klassische Anweisung SELECT * FROM database_name auf, um alle in der Tabelle verfügbaren Daten zu lesen. Dann werden wir die Methode fetchall() verwenden, um alle verfügbaren Zeilen zu holen. Beachte, dass PostgreSQL automatisch einen numerischen Index für die Spalte course_id erstellt.

cur = conn.cursor()
cur.execute('SELECT * FROM datacamp_courses;')
rows = cur.fetchall()
conn.commit()
conn.close()
for row in rows:
    print(row)
(1, 'Introduction to SQL', 'Izzy Weber', 'Julia')
(2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python')
(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory')
(4, 'Introduction to Statistics in R', 'Maggie Matsui', 'R')
(5, 'Hypothesis Testing in Python', 'James Chapman', 'Python')

UPDATE 

Daten sind oft mit Fehlern behaftet. Im vorherigen Abschnitt hast du vielleicht bemerkt, dass das Thema des Kurses "Einführung in SQL" Julia ist. Nachdem wir die Informationen über den Kurs überprüft hatten, entdeckten wir den Fehler. Wir müssen es ändern und stattdessen "SQL" schreiben. Das kannst du mit der Anweisung UPDATE wie folgt tun:

cur = conn.cursor()
cur.execute("UPDATE datacamp_courses SET topic = 'SQL' WHERE course_name = 'Introduction to SQL';")
conn.commit()
conn.close()

LÖSCHEN 

Zum Schluss möchtest du vielleicht einen der Datensätze in deiner Tabelle löschen. Lass uns zum Beispiel den Kurs Einführung in die Statistik in R löschen:

cur = conn.cursor()
cur.execute("""DELETE from datacamp_courses WHERE course_name = 'Introduction to Statistics in R'""");
conn.commit()
cur.close()

Erweiterte PostgreSQL-Abfragen in Python

Im vorherigen Abschnitt haben wir die grundlegendsten SQL-Abfragen untersucht. Aber es gibt viel zu lernen. Sehen wir uns einige fortgeschrittene Abfragen an.

ORDER BY

Angenommen, du möchtest deine Datenbank nach dem Namen der Lehrkraft sortieren. Du kannst die Anweisung ORDER BY verwenden:

cur = conn.cursor()

cur.execute('SELECT * FROM datacamp_courses ORDER BY course_instructor')
rows = cur.fetchall()
for row in rows:
    print(row)
(2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python')
(1, 'Introduction to SQL', 'Izzy Weber', 'SQL')
(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory')
(4, 'Hypothesis Testing in Python', 'James Chapman', 'Python')

GRUPPE BY

Du möchtest vielleicht einige Aggregatfunktionen innerhalb verschiedener Datengruppen durchführen. Du könntest zum Beispiel daran interessiert sein, die Anzahl der Kurse der verschiedenen Kursleiter/innen zu berechnen. Du kannst diese Art von Operation mit der Funktion GROUP BY durchführen.

cur = conn.cursor()
cur.execute('SELECT course_instructor, COUNT(*) FROM datacamp_courses GROUP BY course_instructor')
rows = cur.fetchall()
for row in rows:
    print(row)
('James Chapman', 2)
('Izzy Weber', 1)
('EbunOluwa Andrew', 1)

JOIN

Bis hierhin haben wir nur mit der Tabelle datacamp_course gearbeitet. Das volle Potenzial von relationalen Datenbanken wie PostgreSQL kannst du jedoch erst dann nutzen, wenn du mit mehreren Tabellen gleichzeitig arbeitest. 

Das magische Werkzeug, um mehrere Tabellen zu kombinieren, ist die JOIN Operation. Stell dir vor, wir haben eine zweite Tabelle in unserer Datenbank mit dem Namen programming_languages, die grundlegende Informationen über die wichtigsten Programmiersprachen für Data Science enthält, darunter den Namen, die Position im TIOBE-Index und die Anzahl der Kurse über die Programmiersprache in DataCamp. Die Tabelle sieht so aus:

language_id

language_name

course_number

tiobe_ranking

1

SQL

31

8

2

Python

157

1

3

R

132

16

4

Julia

2

33

5

Scala

1

38

Stell dir vor, du möchtest die beiden Tabellen zusammenführen, um die Informationen zu den Kursen zusammen mit der Position der Sprache im TIOBE-Index zu erhalten. Wir werden eine INNER JOIN verwenden, um nur die Informationen der Programmiersprachen zu erhalten, die in der Tabelle datacamp_course erscheinen. 

cur = conn.cursor()
cur.execute("""SELECT course_name, course_instructor, topic, tiobe_ranking
FROM datacamp_courses
INNER JOIN programming_languages
ON datacamp_courses.topic = programming_languages.language_name""")
rows = cur.fetchall()
for row in rows:
    print(row)
('Introduction to SQL', 'Izzy Weber', 'SQL', 8)
('Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python', 1)
('Hypothesis Testing in Python', 'James Chapman', 'Python', 1)

Das ist nur ein Beispiel, aber die Möglichkeiten von SQL-Joins sind endlos und machen dieses Thema zu einem Muss. Unser Kurs, Tutorium, und Spickzettel auf joins wird dir den Einstieg erleichtern.

Erste Schritte mit SQLAlchemy

Psycopg2 ist ein großartiges Tool zur Verbindung mit PostgreSQL-Datenbanken. Aber was ist, wenn du mit Datenbanken arbeiten musst, die in verschiedenen SQL-Datenbanken gehostet werden, wie z.B. Oracle und MySQL? In diesen Fällen kann es besser sein, ein Tool zu verwenden, das sich mit verschiedenen Arten von SQL-Datenbanken verbinden kann. Hierfür ist SQLAlchemy ein hervorragender Kandidat. 

Mit einfachen Worten: SQLAlchemy ermöglicht es den Nutzern, Datenbanken mit Python zu verbinden, SQL-Abfragen mit objektbasierter Programmierung auszuführen und den Arbeitsablauf zu optimieren. 

Die Syntax unterscheidet sich zwar von der auf psycopg2, aber du kannst so ziemlich dasselbe tun. Im Folgenden findest du ein Beispiel für die Erstellung einer Engine, die eine Verbindung zu unseren datacamp_courses Datensätzen herstellt und alle in der Tabelle datacap_course verfügbaren Daten ausliest.

import sqlalchemy as db


engine = db.create_engine("postgresql://datacamp@localhost:5432/datacamp_courses")
conn = engine.connect() 
output = conn.execute("SELECT * FROM datacamp_courses")
print(output.fetchall())
conn.close()
[(3, 'Introduction to ChatGPT', 'James Chapman', 'Theory'),
 (5, 'Hypothesis Testing in Python', 'James Chapman', 'Python'),
 (2, 'Analyzing Survey Data in Python', 'EbunOluwa Andrew', 'Python'),
 (1, 'Introduction to SQL', 'Izzy Weber', 'SQL')]

SQLAlchemy ist ein weiteres großartiges Tool, das du lernen solltest. Um einen Einblick in die Funktionsweise des Tools zu bekommen, wirf einen Blick auf unser SQLALchemy Tutorial.  

Verwendung von PostgreSQL im DataCamp DataLab

Beim DataCamp arbeiten wir hart daran, Data Science einfacher und für alle zugänglich zu machen. Das war der Grund für die Entwicklung von DataCamp DataLab, einem Cloud-basierten Notizbuch, das speziell für Data Science entwickelt wurde. Du kannst dir das DataCamp DataLab als eine Mischung aus Jupyter Notebook und Google Docs vorstellen, die es den Nutzern ermöglicht, Code zu schreiben, Daten einzeln oder gemeinsam zu analysieren und Dateneinsichten zu teilen.

Die Verbindung von DataLab mit PostgreSQL-Datenbanken und anderen SQL-Datenbanken ist extrem einfach. Mit DataLab kannst du dich sicher mit Datenquellen verbinden. Gleichzeitig kannst du deine Datenanalyse mit Python oder R nahtlos fortsetzen. Dazu musst du lediglich eine Integration erstellen, die ohne Code auskommt, und deine Verbindungsdaten eingeben.

Wenn du die Integration ausprobieren möchtest, aber keine PostgreSQL-Datenbank hast, mit der du dich verbinden kannst, kannst du eine unserer Beispiel-PostgreSQL-Datenbanken verwenden!

Neugierig auf das DataCamp DataLab? In diesem Artikel erfährst du mehr über dieses Notebook der nächsten Generation für Data Science.

Fazit

Gute Arbeit! In diesem Lernprogramm hast du PostgreSQL kennengelernt und erfahren, wie du mit dem Paket psycopg2 Datenbanken verwalten kannst, ohne Python zu verlassen. Aber das ist erst der Anfang der Reise. SQL ist eine der am weitesten verbreiteten Programmiersprachen in der Datenwissenschaft. Außerdem ist es ziemlich einfach zu lernen, du hast also keine Ausrede.  

Zum Glück gibt es das DataCamp für dich. Hier sind einige Ressourcen, die dir helfen können, PostgreSQL und SQL im Allgemeinen fließend zu beherrschen:

Verdiene eine Python-Zertifizierung

Zeige, dass du ein arbeitsfähiger Datenwissenschaftler in Python bist

FAQs

Was ist der Unterschied zwischen psycopg2 und psycopg2-binary?

psycopg2 ist das Quellpaket und erfordert einen C-Compiler und PostgreSQL-Client-Bibliotheken, die auf deinem System installiert sein müssen. psycopg2-binary ist eine vorkompilierte Version, die alles enthält, was du brauchst, um schnell loszulegen. Sie eignet sich hervorragend für Entwicklungs- und Lernzwecke, wird aber aufgrund möglicher Binärinkompatibilitäten nicht für Produktionsumgebungen empfohlen.

Wie gehe ich mit Fehlern bei der Datenbankverbindung in Python um?

Mit den try-except Blöcken von Python kannst du verbindungsbezogene Fehler abfangen und behandeln. Zum Beispiel:

import psycopg2
from psycopg2 import OperationalError

try:
    conn = psycopg2.connect(
        database="datacamp_courses",
        user="datacamp",
        password="postgresql_tutorial",
        host="localhost",
        port=5432
    )
except OperationalError as e:
    print(f"An error occurred: {e}")

So kann dein Skript Fehler vermeiden und bei Bedarf sogar die Verbindung wiederholen.

Wie stelle ich eine Verbindung zu einer entfernten PostgreSQL-Datenbank her, anstatt zu einer lokalen?

Um eine Verbindung zu einer entfernten PostgreSQL-Datenbank herzustellen, ersetze localhost durch die IP-Adresse oder den Domainnamen des entfernten Servers. Vergewissere dich:

  • Der Datenbankserver erlaubt externe Verbindungen.
  • Der richtige Port (normalerweise 5432) ist in der Firewall geöffnet.
  • Deine PostgreSQL pg_hba.conf Datei ist so konfiguriert, dass sie Fernverbindungen akzeptiert.

Kann ich Umgebungsvariablen verwenden, um Datenbankanmeldedaten sicher zu speichern?

Ja, es ist sicherer, Anmeldedaten als Umgebungsvariablen zu speichern, als sie fest zu codieren. Du kannst sie in Python mit os.environ aufrufen:

import os
conn = psycopg2.connect(
    database=os.environ["DB_NAME"],
    user=os.environ["DB_USER"],
    password=os.environ["DB_PASSWORD"],
    host=os.environ["DB_HOST"],
    port=os.environ["DB_PORT"]
)

Verwende Tools wie .env Dateien mit python-dotenv, um dies lokal zu verwalten.

Wie kann ich SQL-Injection-Angriffe verhindern, wenn ich psycopg2 verwende?

Verwende beim Einfügen von Benutzerdaten immer parametrisierte Abfragen anstelle von String-Formatierungen:

cur.execute("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES (%s, %s, %s)",
            ('Course Name', 'Instructor', 'Topic'))

Dadurch wird verhindert, dass böswillige Benutzer schädlichen SQL-Code in deine Abfragen einfügen können.

Wie aktualisiere ich in psycopg2 mehrere Zeilen auf einmal?

Du kannst die Methode executemany() verwenden, um mehrere Zeilen effizient einzufügen oder zu aktualisieren:

courses = [
    ('Course A', 'Instructor A', 'Python'),
    ('Course B', 'Instructor B', 'R')
]
cur.executemany("INSERT INTO datacamp_courses(course_name, course_instructor, topic) VALUES (%s, %s, %s)", courses)

Welche Datentypen gibt es in PostgreSQL und wie lassen sie sich in Python abbilden?

Hier sind einige gängige PostgreSQL-Datentypen und ihre Entsprechungen in Python:

PostgreSQL-Typ Python Äquivalent
INTEGER int
VARCHAR, TEXT str
BOOLEAN bool
DATUM, ZEITSTEMPEL datetime.date, datetime.datetime
NUMERIC decimal.Decimal

Wie kann ich mit Python Daten aus PostgreSQL in eine CSV-Datei exportieren?

Du kannst die Methode copy_expert() mit einem SQL COPY-Befehl verwenden:

with open('courses.csv', 'w') as f:
    cur.copy_expert("COPY datacamp_courses TO STDOUT WITH CSV HEADER", f)

Dies ist nützlich, um Backups zu erstellen oder Daten zur Analyse zu exportieren.

Kann ich Jupyter Notebook verwenden, um diese Python-PostgreSQL-Befehle auszuführen?

Auf jeden Fall! psycopg2 funktioniert nahtlos in Jupyter. Achte nur darauf, dass die Datenbankverbindung nach deinen Abfragen ordnungsgemäß geschlossen wird, da Jupyter-Sitzungen offen bleiben und Ressourcen verbrauchen können.

Wie kann ich SQL-Abfragen, die in Python fehlschlagen, am besten debuggen?

Das kannst du:

  • Drucke die Abfrage und die Parameter vor der Ausführung aus.
  • Verwende die PostgreSQL-Logs, um mehr Details zu erfahren.
  • Aktiviere das psycopg2 Logging, indem du connection.set_isolation_level() einstellst oder den Echo-Modus von SQLAlchemy verwendest, wenn du diese Schnittstelle nutzt.

Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Ich bin freiberufliche Datenanalystin und arbeite mit Unternehmen und Organisationen auf der ganzen Welt an Data-Science-Projekten zusammen. Ich bin auch Ausbilder für Data Science mit mehr als 2 Jahren Erfahrung. Ich schreibe regelmäßig datenwissenschaftliche Artikel in englischer und spanischer Sprache, von denen einige auf etablierten Websites wie DataCamp, Towards Data Science und Analytics Vidhya veröffentlicht wurden. Als Datenwissenschaftlerin mit einem Hintergrund in Politik- und Rechtswissenschaften ist es mein Ziel, an der Schnittstelle von Politik, Recht und Technologie zu arbeiten und die Macht der Ideen zu nutzen, um innovative Lösungen und Erzählungen voranzutreiben, die uns dabei helfen können, dringende Herausforderungen wie die Klimakrise anzugehen. Ich betrachte mich als Autodidakt, der ständig lernt und ein überzeugter Verfechter der Multidisziplinarität ist. Es ist nie zu spät, neue Dinge zu lernen.

Themen

Erfahre mehr über Python

Kurs

Introduction to Databases in Python

4 hr
97.9K
In this course, you'll learn the basics of relational databases and how to interact with them.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Mehr anzeigenMehr anzeigen