Kom igångKom igång gratis

Skicka – hämta – rensa

Du har använt dbGetQuery() flera gånger nu. Det är en virtuell funktion från paketet DBI, men implementeras i praktiken av paketet RMySQL. Bakom kulisserna utförs följande steg:

  • Skicka den angivna frågan med dbSendQuery();
  • Hämta resultatet av frågan från databasen med dbFetch();
  • Rensa resultatet med dbClearResult().

Den här gången ska du inte använda dbGetQuery() utan implementera stegen ovan själv. Det är lite mer att skriva, men du får då möjligheten att hämta frågans resultat i delar i stället för allt på en gång. Det gör du genom att ange argumentet n inuti dbFetch().

Den här övningen är en del av kursen

Importera data på mellannivå i R

Visa kurs

Övningsinstruktioner

  • Granska anropet till dbSendQuery() som redan är ifyllt. Det hämtar kommentarer från användare med ett id högre än 4.
  • Använd dbFetch() två gånger. I det första anropet importerar du bara två poster från frågeresultatet genom att sätta argumentet n till 2. I det andra anropet importerar du alla återstående poster (ange inte n). Skriv ut de resulterande datarammarna i båda anropen.
  • Rensa res med dbClearResult().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
Redigera och kör kod