시작하기무료로 시작하기

보내기 - 가져오기 - 정리하기

지금까지 dbGetQuery()를 여러 번 사용하셨죠. 이는 DBI 패키지의 가상 함수이지만 실제 구현은 RMySQL 패키지가 담당합니다. 내부적으로는 다음 단계가 수행됩니다:

  • dbSendQuery()로 지정한 쿼리를 전송합니다.
  • 데이터베이스에서 쿼리를 실행한 결과를 dbFetch()로 가져옵니다.
  • dbClearResult()로 결과를 정리합니다.

이번에는 dbGetQuery()를 사용하지 않고 위 단계를 직접 구현해 보겠습니다. 작성하기는 번거롭지만, 결과를 한 번에 모두 가져오는 대신 여러 번에 나눠 가져올 수 있다는 장점이 있습니다. 이를 위해서는 dbFetch()n 인수를 지정하면 됩니다.

이 연습은 강의의 일부입니다

R 데이터 가져오기 중급

강의 보기

연습 안내

  • 이미 작성된 dbSendQuery() 호출을 확인하세요. 이는 id가 4보다 큰 사용자의 댓글을 선택합니다.
  • dbFetch()를 두 번 사용하세요. 첫 번째 호출에서는 n 인수를 2로 설정해 쿼리 결과에서 두 개의 레코드만 가져오세요. 두 번째 호출에서는 나머지 전부를 가져오세요(이때는 n을 지정하지 않습니다). 두 호출 모두 결과 데이터 프레임을 그대로 출력하세요.
  • dbClearResult()res를 정리하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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
코드 편집 및 실행