Korrelierte Updates
Du kannst Datensätze auch mit Daten aus einer Select-Anweisung aktualisieren. Das nennt man ein
korreliertes Update. Es funktioniert, indem du eine select-Anweisung definierst, die den Wert zurückgibt, mit dem du den Datensatz aktualisieren willst, und diese Select-Anweisung als Wert in
update zuweist.
In dieser Übung verwendest du flat_census als Ziel für dein korreliertes Update. Die Tabelle flat_census ist eine zusammengefasste Kopie deiner census-Tabelle und enthält insbesondere die Spalte fips_state.
Diese Übung ist Teil des Kurses
Einführung in Datenbanken mit Python
Anleitung zur Übung
- Erstelle eine Anweisung, um die Spalte
nameausstate_factauszuwählen. Speichere die Anweisung alsfips_stmt. - Hänge an
fips_stmteine where-Klausel an, diefips_stateaus der Tabellestate_factmitfips_codein der Tabelleflat_censusabgleicht. - Erstelle eine Update-Anweisung, um
state_nameinflat_censusauffips_stmtzu setzen. Speichere die Anweisung alsupdate_stmt. - Antwort senden, um
update_stmtauszuführen, speichere dieresultsund gib dierowcountvonresultsaus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)