Filtrování dat z tabulky – jednoduché
Teď, když máš připojení k databázi, je čas procvičit filtrování dotazů!
Jak bylo zmíněno ve videu, klauzule where() slouží k filtrování dat, která dotaz vrací. Například pro výběr všech záznamů z tabulky census, kde je pohlaví ženské (tedy 'F'), napíšeme:
select([census]).where(census.columns.sex == 'F')
Kromě == můžeš v klauzuli where() použít prakticky jakýkoli porovnávací operátor Pythonu (například <=, != a další).
Toto cvičení je součástí kurzu
Introduction to Databases in Python
Pokyny k cvičení
- Vyber všechny záznamy z tabulky
censustak, že předášcensusjako seznam do funkceselect(). - Připoj ke
stmtklauzuliwhere, která vrátí pouze záznamy, kdestateodpovídá hodnotě'New York'. - Spusť příkaz
stmtpomocí.execute()na objektuconnectiona načti výsledky metodou.fetchall(). - Projdi
resultsv cyklu a pro každý záznam vypiš sloupceage,sexapop2000. Například věk záznamuresultvypíšeš pomocíresult.age.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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, ____, ____)