Cập nhật tương quan (Correlated updates)
Bạn cũng có thể cập nhật bản ghi bằng dữ liệu từ một câu lệnh select. Cách này được gọi là cập nhật tương quan (correlated update). Cơ chế hoạt động là bạn định nghĩa một câu lệnh select trả về giá trị bạn muốn dùng để cập nhật bản ghi và gán chính câu lệnh select đó làm giá trị trong update.
Trong bài này, bạn sẽ dùng flat_census làm bảng đích cho cập nhật tương quan. Bảng flat_census là bản tóm tắt từ bảng census của bạn, và đặc biệt có chứa các cột fips_state.
Bài tập này là một phần của khóa học
Nhập môn Cơ sở dữ liệu với Python
Hướng dẫn bài tập
- Tạo một câu lệnh chọn cột
nametừstate_fact. Lưu câu lệnh này làfips_stmt. - Thêm mệnh đề where vào
fips_stmtđể khớpfips_statetừ bảngstate_factvớifips_codetrong bảngflat_census. - Tạo một câu lệnh update để đặt
state_nametrongflat_censusbằngfips_stmt. Lưu câu lệnh này làupdate_stmt. - Gửi câu trả lời để thực thi
update_stmt, lưuresultsvà inrowcountcủaresults.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)