Zacznij terazZacznij za darmo

Aktualizacje skorelowane

Rekordy można też aktualizować na podstawie danych zwróconych przez instrukcję select. Taki mechanizm nazywamy aktualizacją skorelowaną. Polega on na zdefiniowaniu instrukcji select, która zwraca wartość, jaką chcemy przypisać do rekordu, a następnie na przypisaniu tej instrukcji jako wartości w update.

W tym ćwiczeniu jako cel aktualizacji skorelowanej będzie służyć tabela flat_census. Jest to uproszczona kopia tabeli census, zawierająca między innymi kolumnę fips_state.

To ćwiczenie jest częścią kursu

Wprowadzenie do baz danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zbuduj instrukcję wybierającą kolumnę name z tabeli state_fact. Zapisz tę instrukcję jako fips_stmt.
  • Dołącz do fips_stmt klauzulę where, która dopasowuje kolumnę fips_state z tabeli state_fact do kolumny fips_code w tabeli flat_census.
  • Zbuduj instrukcję aktualizującą, która ustawia state_name w tabeli flat_census na wartość fips_stmt. Zapisz tę instrukcję jako update_stmt.
  • Prześlij odpowiedź, aby wykonać update_stmt, zapisz wyniki jako results i wyświetl wartość rowcount obiektu results.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod