Kapitel 24
Datenbanken
660
Aus dem Cursor-Objekt können Sie auch eine Liste erzeugen und diese Liste weiterverar-
beiten:
Nun will man meistens nicht die ganze Tabelle, sondern nur bestimmte Zeilen erhalten. In
diesem Fall spezifiziert man in einer so genannten
WHERE-Klausel eine Bedingung, die die
gesuchten Zeilen erfüllen müssen. Format:
Es folgen einige Beispiele.
Suche die Daten von Melanie Beck:
Suche die Daten aller Personen aus Witten (Telefonnummer beginnt mit 02302):
24.5.3 SQL-Anweisungen mit variablen Teilen
SQL-Anweisungen werden häufig dynamisch mithilfe von Variablen konstruiert. Wenn
eine SQL-Anweisung variable Teile enthält, sollte man auf keinen Fall die String-Formatie-
rung verwenden, sondern folgendermaßen vorgehen:
Stellen Sie die variablen Teile der Anfrage durch Fragezeichen dar.
Rufen Sie die Cursor-Methode execute() mit einem zweiten Argument auf. Dieses ist
ein Tupel, das Strings für die variablen Teile enthält.
In den folgenden Anweisungen werden die Daten einer bestimmten Person gesucht. Der
Name der Person ist in einer Variablen gespeichert.
>>> liste = list(ergebnis)
>>> print(liste)
[('Melanie Beck', '02302 89912'), ('Moritz Blau', '0201 841111'),
('Tim Groß', '0251 199348')]
>>> print(liste[0])
('Melanie Beck', '02302 89912')
SELECT *
FROM table
WHERE bedingung;
>>> c.execute("""SELECT * from person WHERE name = "Melanie Beck";""")
>>> c.execute("""SELECT * from person WHERE tel like "02302%";""")
>>> a = "Melanie Beck"
>>> c.execute("SELECT * FROM person WHERE name = ?;",(a,))
<sqlite3.Cursor object at 0x02A2FF80>

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.