Korelované aktualizace
Záznamy lze aktualizovat také pomocí dat z příkazu select. Tento přístup se nazývá
korelovaná aktualizace. Funguje tak, že definuješ příkaz select, který vrátí
hodnotu, kterou chceš do záznamu zapsat, a tento příkaz pak předáš jako hodnotu do
update.
V tomto cvičení použiješ tabulku flat_census jako cíl korelované aktualizace. Tabulka flat_census je zjednodušená kopie tabulky census a obsahuje mimo jiné sloupec fips_state.
Toto cvičení je součástí kurzu
Introduction to Databases in Python
Pokyny k cvičení
- Sestavte příkaz pro výběr sloupce
namez tabulkystate_fact. Ulož příkaz do proměnnéfips_stmt. - Přidej ke
fips_stmtklauzuliwhere, která propojí sloupecfips_statez tabulkystate_factse sloupcemfips_codev tabulceflat_census. - Sestavte příkaz pro aktualizaci, který nastaví hodnotu
state_namev tabulceflat_censusnafips_stmt. Ulož příkaz do proměnnéupdate_stmt. - Odešli odpověď, aby se
update_stmtprovedl, ulož výsledky doresultsa vypiš hodnoturowcountzresults.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Build a statement to select name from state_fact: fips_stmt
fips_stmt = select([____])
# Append a where clause to match the fips_state to flat_census fips_code: fips_stmt
fips_stmt = fips_stmt.____(
____ == ____)
# Build an update statement to set the name to fips_stmt_where: update_stmt
update_stmt = update(____).values(____=____)
# Execute update_stmt: results
results = connection.execute(update_stmt)
# Print rowcount
print(results.rowcount)