1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Cơ sở dữ liệu với Python

Connected

Bài tập

Chọn dữ liệu từ một bảng: raw SQL

Như bạn đã thấy trong video, để truy cập và thao tác dữ liệu trong cơ sở dữ liệu, trước hết chúng ta cần thiết lập kết nối bằng cách gọi phương thức .connect() trên engine. Lý do là vì hàm create_engine() mà bạn đã dùng trước đó trả về một đối tượng engine, nhưng nó chưa thực sự mở kết nối cho đến khi có một hành động cần kết nối, chẳng hạn như một truy vấn.

Dựa trên những gì vừa học về SQL và áp dụng phương thức .execute() trên kết nối, bạn có thể tận dụng một truy vấn SQL thô để truy vấn tất cả các bản ghi trong bảng census. Đối tượng được trả về bởi phương thức .execute() là một ResultProxy. Trên ResultProxy này, ta có thể dùng phương thức .fetchall() để lấy kết quả — tức ResultSet.

Trong bài tập này, bạn sẽ dùng một truy vấn SQL truyền thống. Lưu ý rằng khi chạy truy vấn bằng SQL thô, bạn đang truy vấn bảng trực tiếp trong cơ sở dữ liệu. Cụ thể, không cần bước phản chiếu (reflection).

Ở bài tiếp theo, bạn sẽ chuyển sang SQLAlchemy và bắt đầu hiểu các ưu điểm của nó. Bắt đầu thôi!

Hướng dẫn

100 XP
  • Dùng phương thức .connect() của engine để tạo một kết nối.
  • Xây dựng một câu lệnh SQL để truy vấn tất cả các cột từ census và lưu vào stmt. Lưu ý câu lệnh SQL của bạn phải là một chuỗi.
  • Dùng các phương thức .execute() và .fetchall() trên connection và lưu kết quả vào results. Nhớ rằng phải gọi .execute() trước .fetchall() và truyền stmt vào .execute().
  • In results.