İlişkili güncellemeler
Seçim ifadesinden gelen verilerle kayıtları güncelleyebilirsin. Buna ilişkili güncelleme (correlated update) denir. Bu, güncellemek istediğin değeri döndüren bir select ifadesi tanımlayıp, bu select ifadesini update içinde değer olarak atayarak çalışır.
Bu egzersizde, ilişkili güncellemenin hedefi olarak flat_census kullanacaksın. flat_census tablosu, nüfus sayımı tablonun özet bir kopyasıdır ve özellikle fips_state sütunlarını içerir.
Bu egzersiz, kursun bir parçasıdır
Python ile Veritabanlarına Giriş
Egzersiz talimatları
state_facttablosundannamesütununu seçecek bir ifade oluştur. Bu ifadeyifips_stmtolarak kaydet.fips_stmtifadesine,state_facttablosundakifips_stateileflat_censustablosundakifips_codedeğerlerini eşleştiren bir where koşulu ekle.flat_censustablosundakistate_namedeğerinifips_stmtolarak ayarlayan bir update ifadesi oluştur. Bu ifadeyiupdate_stmtolarak kaydet.update_stmtifadesini çalıştırmak için yanıtı gönder,resultsdeğişkenine kaydet veresultsnesnesininrowcountdeğerini yazdır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)