操作关系型数据库

在前面的章节中,我们使用一系列内置函数,例如 read.csv( ) 和 read.table( )
从分隔符分隔的文件(例如 csv 格式)中读取数据。然而,当数据文件很大时,这些存储
方式未必是最好的。
为什么文本格式不再适用呢?主要有如下 3 个理由。
1.read.csv( ) 这类函数主要用于将整个文件读到内存中,成为 R 中的一个数据框。
如果数据量太大,以至于不适合计算机内存时,这个方法就失效了。
2.虽然数据集很大,但是通常我们并不需要将整个数据集都载入内存来完成任务。相
反,往往只需根据某些条件,提取原数据集的一个子集。内置的数据读取函数并不能对 csv
文件进行查询。
3.数据集在不断更新中,即我们需要定期地向数据集中插入记录。如果采用 csv 格式,
新添数据将会非常不便,尤其是想在文件的中间部分插入新记录,又要保持其他记录的原
有顺序时,将会很棘手。
针对以上情形,最好的方案就是使用数据库。它能有效地应对超出计算机内存容量的
数据存储问题。还可以根据用户提供的条件,对数据库中的数据进行查询,这也使在数据
库中更新现有记录和插入新数据的操作变得简便。
关系型数据库就是一个由表和表之间的关系组成的集合。数据库中的表和 R 中的数据
框具有相同的形式。表之间可以相互关联,使得我们能轻松地合并多张表的信息。
在这一节中,我们从最简单的数据库开始,SQLite(http://sqlite.org/)就是一个轻量级
的数据库引擎。
在 R 中操作 SQLite 数据库,我们会用到 RSQLite 扩展包。运行下面的代码可以从 CRAN
上下载并安装此包:
install.packages("RSQLite")

创建一个 SQLite 数据库

访问表和表中字段

用 SQL 对关系型数据库进行查询

分块提取查询结果

出于一致性考虑的事务操作

将多个文件的数据存入一个数据库

posted @ 2019-02-11 11:23  NAVYSUMMER  阅读(103)  评论(0编辑  收藏  举报
交流群 编程书籍