Filtrowanie danych z tabeli – podstawy
Po połączeniu z bazą danych czas poćwiczyć filtrowanie zapytań!
Jak wspomniano w filmie, klauzula where() służy do filtrowania danych zwracanych przez instrukcję. Na przykład, aby wybrać wszystkie rekordy z tabeli census, w których płeć to Female (czyli 'F'), użyj następującej konstrukcji:
select([census]).where(census.columns.sex == 'F')
Oprócz == możesz używać niemal wszystkich operatorów porównania Pythona (takich jak <=, != itp.) w klauzuli where().
To ćwiczenie jest częścią kursu
Wprowadzenie do baz danych w Pythonie
Instrukcje do ćwiczenia
- Wybierz wszystkie rekordy z tabeli
census, przekazująccensusjako listę doselect(). - Dodaj klauzulę
wheredostmt, aby zwrócić tylko rekordy, w którychstatema wartość'New York'. - Wykonaj instrukcję
stmtza pomocą.execute()naconnectioni pobierz wyniki metodą.fetchall(). - Iteruj po
resultsi wypisz kolumnyage,sexorazpop2000dla każdego rekordu. Na przykład wartośćagedla rekorduresultmożesz wypisać jakoresult.age.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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, ____, ____)