Zacznij terazZacznij za darmo

Wyślij – pobierz – wyczyść

Funkcji dbGetQuery() używałeś już wielokrotnie. To wirtualna funkcja z pakietu DBI, która w rzeczywistości jest implementowana przez pakiet RMySQL. Za kulisami wykonywane są następujące kroki:

  • Wysłanie zapytania za pomocą dbSendQuery();
  • Pobranie wyniku wykonania zapytania na bazie danych za pomocą dbFetch();
  • Wyczyszczenie wyniku za pomocą dbClearResult().

Tym razem nie korzystaj z dbGetQuery() i zaimplementuj powyższe kroki samodzielnie. To nieco bardziej pracochłonne, ale daje ci możliwość pobierania wyników zapytania partiami – zamiast wszystkiego naraz. Możesz to zrobić, podając argument n wewnątrz dbFetch().

To ćwiczenie jest częścią kursu

Importowanie danych w R – poziom średnio zaawansowany

Zobacz kurs

Instrukcje do ćwiczenia

  • Przyjrzyj się wywołaniu dbSendQuery(), które zostało już przygotowane. Pobiera ono komentarze użytkowników z identyfikatorem większym niż 4.
  • Użyj dbFetch() dwukrotnie. W pierwszym wywołaniu zaimportuj tylko dwa rekordy z wyniku zapytania, ustawiając argument n na 2. W drugim wywołaniu zaimportuj wszystkie pozostałe rekordy (nie podawaj n). W obu wywołaniach po prostu wydrukuj otrzymane ramki danych.
  • Wyczyść res za pomocą dbClearResult().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
Edytuj i uruchom kod