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
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 argumentnna2. W drugim wywołaniu zaimportuj wszystkie pozostałe rekordy (nie podawajn). W obu wywołaniach po prostu wydrukuj otrzymane ramki danych. - Wyczyść
resza 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