CommencezCommencez gratuitement

Envoyer - Récupérer - Effacer

Vous avez utilisé dbGetQuery() à plusieurs reprises. Il s'agit d'une fonction virtuelle du paquet DBI, mais elle est en fait implémentée par le paquet RMySQL. En coulisse, les étapes suivantes sont effectuées :

  • Envoi de la requête spécifiée avec dbSendQuery();
  • Récupération du résultat de l'exécution de la requête sur la base de données avec dbFetch();
  • Effacement du résultat avec dbClearResult().

Cette fois, n'utilisons pas dbGetQuery() et mettons plutôt en œuvre les étapes ci‑dessus. C'est fastidieux à écrire, mais cela vous permet de récupérer le résultat de la requête par blocs plutôt que tout d'un coup. Vous pouvez le faire en précisant l'argument n dans dbFetch().

Cette activité fait partie du cours

Importation de données intermédiaire avec R

Voir le cours

Instructions de l’exercice

  • Examinez l'appel à dbSendQuery() déjà codé pour vous. Il sélectionne les commentaires des utilisateurs dont l'identifiant est supérieur à 4.
  • Utilisez dbFetch() deux fois. Lors du premier appel, importez seulement deux enregistrements du Résultat de la requête en définissant l'argument n à 2. Lors du second appel, importez toutes les requêtes restantes (ne précisez pas n). Dans les deux appels, affichez simplement les data frames résultants.
  • Effacez res avec dbClearResult().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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
Modifier et exécuter le code