DB-API 2.0¶
Die Python-API für Datenbank-Konnektoren ist einfach zu bedienen und zu verstehen. Die beiden wesentlichen Konzepte sind:
- Connection
Connection Objects erlauben die folgenden Methoden:
connect(parameters…)öffnet die Verbindung zur Datenbank
.close()schließt die Verbindung zur Datenbank
.commit()überträgt die ausstehende Transaktion zur Datenbank
.rollback()Diese Methode ist optional da nicht alle Datenbanken das Zurückrollen von Transaktionen erlauben.
.cursor ()Rückgabe eines neuen Corsor-Objekts über die Verbindung
Beispiel:
import driver conn = driver.connect(database="example", host="localhost", port=5432) try: cursor = conn.cursor() cursor.execute("SQL-STATEMENT") except Exception: conn.rollback() else: conn.commit() conn.close()
- Cursor
Cursorobjekte werden zum Verwalten des Kontexts einer
.fetch*()-Methode verwendet.Dabei sind Cursor, die in derselben Connection erstellt werden, nicht isoliert voneinander.
Es gibt zwei Attribute für Cursor-Objekte:
.descriptionenthält die folgenden sieben Elemente:
nametype_codedisplay_sizeinternal_sizeprecisionscalenull_ok
Die ersten beiden Elemente (
nameundtype_code) sind obligatorisch, die anderen fünf sind optional und werden aufNonegesetzt, wenn keine sinnvollen Werte angegeben werden können..rowcountgibt die Anzahl der Zeilen an, die der letzte Aufruf von
.execute*()mitSELECT,UPDATEoderINSERTergab.
Beispiel:
cursor = conn.cursor() cursor.execute(""" SELECT column1, column2 FROM tableA """) for column1, column2 in cursor.fetchall(): print(column1, column2)
Siehe auch
PEP 249 – Python Database API Specification v2.0