1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶ中級データインポート

Connected

演習

送信 - 取得 - クリア

これまでに何度か dbGetQuery() を使ってきました。これは DBI パッケージの仮想関数ですが、実際の実装は RMySQL パッケージが担っています。内部では次の手順が実行されています。

  • dbSendQuery() で指定したクエリを送信する。
  • データベース上でクエリを実行した結果を dbFetch() で取得する。
  • dbClearResult() で結果をクリアする。

今回は dbGetQuery() は使わず、上記の手順を自分で実装してみましょう。少し手間はかかりますが、結果を一度にではなくチャンクごとに取得できる利点があります。これは、dbFetch() の n 引数を指定することで実現できます。

指示

100 XP
  • すでに用意されている dbSendQuery() の呼び出しを確認してください。これは、id が 4 を超えるユーザーのコメントを選択します。
  • dbFetch() を2回使います。1回目は、n 引数を 2 に設定して、クエリ結果から2件だけ取り込みます。2回目は、残りをすべて取り込みます(n は指定しないでください)。どちらの呼び出しでも、得られたデータフレームをそのまま表示してください。
  • dbClearResult() で res をクリアしてください。