0%

Wenn eine Datei nicht mehr reicht

Eine Frage durch die Datenbank verfolgen

Jemand fragt: „Was kann man ausleihen?“ Du hast die Abfrage, die diese Frage beantwortet, bereits geschrieben:

SELECT name FROM items;

Hier ist noch einmal das Schema, das sie verwendet:

Schema für items

SpalteWas hier hingehört
ideine ganzzahlige ID für den Gegenstand
nameText mit dem Namen des Gegenstands
categoryText, der die Gruppe des Gegenstands benennt

Die Abfrage benennt zwei Teile dieses Schemas. name ist die Spalte, die du zurückhaben möchtest, und items ist die Tabelle, die die Zeilen liefert.

Stell dir vor, dieser Katalog liegt auf deinem eigenen Computer in einer Datei namens lending.db. Python öffnet eine Verbindung zu dieser Datei, und SQLite folgt der Abfrage zu den angefragten Namen:

Python connection
        ↓
lending.db
        ↓
items table
        ↓
name column
        ↓
Cordless drill, Folding table, Projector

Die Verbindung ist der Weg, den Python während der Programmausführung verwendet. Die Zeilen liegen in lending.db. Der Aufruf connection.close() beendet diesen Weg, entfernt aber weder die Datei noch ihre Zeilen.

Später kann Python eine neue Verbindung zu derselben Datei öffnen und dieselbe Abfrage ausführen. SQLite findet weiterhin die Tabelle items und gibt ihre Namen zurück.

Ein Programm schließt seine Verbindung zu lending.db. Später braucht es die Gegenstandsnamen erneut. Was soll es tun?

Die Verbindung, die Projector zurückgegeben hat, existiert vielleicht nicht mehr, aber die Zeile zu Projector liegt weiterhin in lending.db. Eine neue Verbindung kann dieselbe Datei erneut nach den Namen fragen. Im nächsten Kapitel erstellst du die Tabelle items, statt sie fertig vorzufinden.