Actualizări corelate
Poți actualiza înregistrări și cu date provenite dintr-o instrucțiune select. Aceasta se numește
actualizare corelată. Funcționează prin definirea unei instrucțiuni select care returnează
valoarea cu care dorești să actualizezi înregistrarea, atribuind apoi acea instrucțiune select ca valoare în
update.
În acest exercițiu vei folosi tabelul flat_census ca țintă a actualizării corelate. Tabelul flat_census este o copie rezumată a tabelului tău census și conține, în special, coloanele fips_state.
Acest exercițiu face parte din cursul
Introducere în baze de date în Python
Instrucțiuni pentru exercițiu
- Construiește o instrucțiune pentru a selecta coloana
namedinstate_fact. Salvează instrucțiunea cafips_stmt. - Adaugă o clauză where la
fips_stmtcare asociazăfips_statedin tabelulstate_factcufips_codedin tabelulflat_census. - Construiește o instrucțiune de actualizare pentru a seta
state_nameînflat_censuslafips_stmt. Salvează instrucțiunea caupdate_stmt. - Trimite răspunsul pentru a executa
update_stmt, stocheazăresultsși afișeazărowcount-ul dinresults.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)