Začněte nyníZačněte zdarma

Send - Fetch - Clear

Funkci dbGetQuery() jsi teď použil/a už několikrát. Jde o virtuální funkci z balíčku DBI, která je ale ve skutečnosti implementována balíčkem RMySQL. Za běhu přitom probíhají tyto kroky:

  • Odeslání zadaného dotazu pomocí dbSendQuery();
  • Načtení výsledku vykonání dotazu na databázi pomocí dbFetch();
  • Vymazání výsledku pomocí dbClearResult().

Tentokrát dbGetQuery() nepoužijeme a výše uvedené kroky provedeme ručně. Je to trochu pracnější, ale dává ti to možnost načítat výsledky dotazu po částech, ne najednou. Stačí nastavit argument n uvnitř dbFetch().

Toto cvičení je součástí kurzu

Intermediate Importing Data in R

Zobrazit kurz

Pokyny k cvičení

  • Prohlédni si volání dbSendQuery(), které už je připravené v kódu. Vybírá komentáře uživatelů s id větším než 4.
  • Použij dbFetch() dvakrát. V prvním volání načti pouze dva záznamy z výsledku dotazu – nastav argument n na 2. Ve druhém volání načti všechny zbývající záznamy (argument n nezadávej). V obou případech výsledný datový rámec jednoduše vypiš.
  • Vymažte res pomocí dbClearResult().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
Upravit a spustit kód