Bắt đầu ngayBắt đầu miễn phí

Gửi - Lấy - Xóa

Bạn đã dùng dbGetQuery() nhiều lần rồi. Đây là một hàm ảo từ gói DBI, nhưng thực tế được triển khai bởi gói RMySQL. Ẩn sau đó là các bước sau:

  • Gửi truy vấn đã chỉ định với dbSendQuery();
  • Lấy kết quả thực thi truy vấn trên cơ sở dữ liệu với dbFetch();
  • Xóa kết quả với dbClearResult().

Lần này, chúng ta không dùng dbGetQuery() mà tự triển khai các bước ở trên. Cách này viết hơi dài, nhưng cho phép bạn lấy kết quả truy vấn theo từng phần thay vì tất cả cùng lúc. Bạn có thể làm điều này bằng cách chỉ định đối số n trong dbFetch().

Bài tập này là một phần của khóa học

Nhập dữ liệu nâng cao trong R

Xem khóa học

Hướng dẫn bài tập

  • Kiểm tra lệnh gọi dbSendQuery() đã được viết sẵn cho bạn. Nó chọn các bình luận (comments) của những người dùng có id lớn hơn 4.
  • Dùng dbFetch() hai lần. Ở lần đầu, chỉ nhập hai bản ghi của kết quả truy vấn bằng cách đặt đối số n thành 2. Ở lần thứ hai, nhập tất cả phần còn lại (không chỉ định n). Ở cả hai lần, chỉ cần in ra các data frame kết quả.
  • Xóa res với dbClearResult().

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.

# Connect to the database
library(DBI)
con <- dbConnect(RMySQL::MySQL(),
                 dbname = "tweater",
                 host = "courses.csrrinzqubik.us-east-1.rds.amazonaws.com",
                 port = 3306,
                 user = "student",
                 password = "datacamp")

# Send query to the database
res <- dbSendQuery(con, "SELECT * FROM comments WHERE user_id > 4")

# Use dbFetch() twice



# Clear res
Chỉnh sửa và Chạy Mã