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:
    # create the cursor
    # use the cursor
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:

.description

enthält die folgenden sieben Elemente:

  1. name

  2. type_code

  3. display_size

  4. internal_size

  5. precision

  6. scale

  7. null_ok

Die ersten beiden Elemente (name und type_code) sind obligatorisch, die anderen fünf sind optional und werden auf None gesetzt, wenn keine sinnvollen Werte angegeben werden können.

.rowcount

gibt die Anzahl der Zeilen an, die der letzte Aufruf von .execute*() mit SELECT, UPDATE oder INSERT ergab.

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