Daten aus einer Tabelle filtern – einfach
Nachdem die Verbindung zur Datenbank steht, ist es Zeit, das Filtern deiner Abfragen zu üben!
Wie im Video erwähnt, wird eine where()-Klausel verwendet, um die Daten zu filtern, die eine Anweisung zurückgibt. Um zum Beispiel alle Datensätze aus der Tabelle census auszuwählen, bei denen das Geschlecht weiblich (oder 'F') ist, würden wir Folgendes tun:
select([census]).where(census.columns.sex == 'F')
Zusätzlich zu == können wir in der where()-Klausel praktisch jeden Python-Vergleichsoperator verwenden (z. B. <=, != usw.).
Diese Übung ist Teil des Kurses
Einführung in Datenbanken mit Python
Anleitung zur Übung
- Wähle alle Datensätze aus der Tabelle
censusaus, indem ducensusals Liste anselect()übergibst. - Hänge an
stmteinewhere-Klausel an, um nur die Datensätze mitstategleich'New York'zurückzugeben. - Führe die Anweisung
stmtmit.execute()aufconnectionaus und rufe die Ergebnisse mit.fetchall()ab. - Iteriere über
resultsund gib die Spaltenage,sexundpop2000jedes Datensatzes aus. Du kannst zum Beispiel dasagevonresultmitresult.ageausgeben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create a select query: stmt
stmt = ____
# Add a where clause to filter the results to only those for New York : stmt_filtered
stmt = stmt.____
# Execute the query to retrieve all the data returned: results
results = ____
# Loop over the results and print the age, sex, and pop2000
for ___ in ____:
print(result.age, ____, ____)