Invia - Recupera - Pulisci
Hai già usato dbGetQuery() più volte. È una funzione virtuale del pacchetto DBI, ma in realtà è implementata dal pacchetto RMySQL. Dietro le quinte, vengono eseguiti i seguenti passaggi:
- Invio della query specificata con
dbSendQuery(); - Recupero del risultato dell'esecuzione della query sul database con
dbFetch(); - Pulizia del risultato con
dbClearResult().
Questa volta non usare dbGetQuery() e implementa i passaggi sopra. È un po' noioso da scrivere, ma ti permette di recuperare il risultato della query a blocchi invece che tutto in una volta. Puoi farlo specificando l'argomento n dentro dbFetch().
Questo esercizio fa parte del corso
Importazione intermedia di dati in R
Istruzioni dell'esercizio
- Esamina la chiamata a
dbSendQuery()che è già stata scritta per te. Seleziona i commenti degli utenti con un id maggiore di 4. - Usa
dbFetch()due volte. Nella prima chiamata, importa solo due record del Risultato della query impostando l'argomentona2. Nella seconda chiamata, importa tutte le query rimanenti (non specificaren). In entrambe le chiamate, stampa semplicemente i data frame risultanti. - Pulisci
rescondbClearResult().
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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