Lọc dữ liệu chọn từ một Table - Đơn giản
Sau khi đã kết nối với cơ sở dữ liệu, giờ là lúc bạn thực hành lọc truy vấn!
Như đã đề cập trong video, mệnh đề where() được dùng để lọc dữ liệu mà câu lệnh trả về. Ví dụ, để chọn tất cả bản ghi từ bảng census mà giới tính là Nữ (hoặc 'F'), bạn có thể làm như sau:
select([census]).where(census.columns.sex == 'F')
Ngoài ==, bạn có thể dùng hầu hết các toán tử so sánh của Python (như <=, !=, v.v.) trong mệnh đề where().
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
- Chọn tất cả bản ghi từ bảng
censusbằng cách truyềncensusnhư một danh sách vàoselect(). - Nối thêm một mệnh đề
wherevàostmtđể chỉ trả về các bản ghi cóstatelà'New York'. - Thực thi câu lệnh
stmtbằng.execute()trênconnectionvà lấy kết quả bằng.fetchall(). - Lặp qua
resultsvà in các cộtage,sexvàpop2000của mỗi bản ghi. Ví dụ, bạn có thể inagecủaresultvớiresult.age.
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.
# Create a select query: stmt
stmt = ____
# Add a where clause to filter the results to only those for New York : stmt_filtered
stmt = stmt.____
# Execute the query to retrieve all the data returned: results
results = ____
# Loop over the results and print the age, sex, and pop2000
for ___ in ____:
print(result.age, ____, ____)