Wenn eine Datei nicht mehr reicht · Übung
Python mit SQLite verbinden
Deine SQL-Abfrage ist fertig, aber Python muss die Datenbank öffnen, bevor die Abfrage laufen kann. Das Modul sqlite3 stellt dir die benötigte Funktion zur Verfügung:
import sqlite3
connection = sqlite3.connect(":memory:")
sqlite3.connect() gibt eine Verbindung zurück. Eine Verbindung ist das Python-Objekt, mit dem dein Programm mit einer SQLite-Datenbank kommuniziert. Sie ist weder eine Kopie der Daten noch die Datenbank selbst.
Der besondere Text :memory: sagt SQLite, diese kleine Datenbank im Arbeitsspeicher zu halten, statt eine Datei zu erstellen. Sie besteht, solange die Verbindung offen ist, und verschwindet beim Schließen der Verbindung. Das macht sie nützlich zum Üben.
Die Verbindung selbst öffnen
Der Editor hat connect.py geöffnet. Der größte Teil des Programms steht bereits da, damit du dich auf eine neue Zeile konzentrieren kannst. Finde diesen Platzhalter:
connection = None
Ersetze None durch sqlite3.connect(":memory:") und klicke dann auf Run.
Run kann auch Arbeit aus früheren Lektionen anzeigen. Suche die Überschrift == connect.py ==. Wenn die Gegenstandsnamen darunter erscheinen, verfolge, was die vorhandenen Zeilen getan haben: Sie haben die vertraute Tabelle items vorbereitet, query.sql ausgeführt, die Antwort ausgegeben und diese letzte Zeile erreicht:
connection.close()
Eine Verbindung zu öffnen gibt Python Zugriff auf die Datenbank. Sie zu schließen sagt SQLite, dass dieses Programm mit dieser Verbindung fertig ist.
Falls dir der Aufruf noch ungewohnt ist, frage Monty:
Was gibt
sqlite3.connect(":memory:")zurück, und wie unterscheidet sich das von der Datenbank?
Was ist die connection, die sqlite3.connect(":memory:") erstellt?
Python hat jetzt eine echte SQLite-Datenbank geöffnet, deine SQL-Abfrage verwendet und die Verbindung geschlossen. Eine Frage bleibt: Hat das Schließen nur die Verbindung beendet oder auch die Daten gelöscht?
Aufgabe
Ersetze in connect.py den Wert None durch sqlite3.connect(":memory:"). Lass die anderen Zeilen unverändert.
Führe das Projekt aus und suche den Abschnitt == connect.py ==. Du solltest die von query.sql zurückgegebenen Namen sehen. Reiche dann deine Arbeit ein.