Корельовані оновлення
Ви також можете оновлювати записи даними з виразу select. Це називається
корельованим оновленням. Воно працює так: ви визначаєте вираз select, який повертає
значення для оновлення запису, і призначаєте цей вираз як значення в
update.
У цій вправі ви використовуватимете flat_census як ціль для корельованого оновлення. Таблиця flat_census — це узагальнена копія вашої таблиці census і містить, зокрема, стовпці fips_state.
Ця вправа є частиною курсу
Вступ до баз даних у Python
Інструкції до вправи
- Побудуйте вираз для вибірки стовпця
nameзstate_fact. Збережіть вираз якfips_stmt. - Додайте до
fips_stmtумову where, яка зіставляєfips_stateз таблиціstate_factізfips_codeу таблиціflat_census. - Побудуйте вираз оновлення, щоб встановити
state_nameуflat_censusрівнимfips_stmt. Збережіть вираз якupdate_stmt. - Надішліть відповідь, щоб виконати
update_stmt, збережітьresultsі виведітьrowcountзresults.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)