【r<-高级】R-操作数据库

在阅读之前我有必要进行申明,因为使用的是RMD文档,所以每次RENDER的时候都会读取数据库,所以结果显示不一样正常,有的也加了overwriteappend选项。显示的结果不一定与实际读者操作的结果一致。

内容:

  • 了解关系型数据库
  • 使用SQL工具

使用数据库能够有效地应对超出计算机内存容量的数据存储问题,还可以根据用户提供的条件,对数据库中的数据进行查询,这也使在数据库中更新现有记录和插入新数据的操作变得简单。

操作关系型数据库

关系型数据库就是一个由表和表之间的关系组成的集合。数据库中的表和R中的数据框有相同地形式。表之间可以互相关联,让我们能够轻松合并多张表信息。

下面从最简单数据库开始,SQLite(http://sqlite.org/是一个轻量级的数据库引擎。

在R中操作SQLite数据库需要用RSQLite扩展包。运行下面代码:

if(!require("RSQLite")) install.packages("RSQLite")
#> 载入需要的程辑包:RSQLite

创建SQLite数据库

现在在博客R目录下创建一个data目录,用来存储数据库:

if (!dir.exists("../../R/data")) dir.create("../../R/data")

接下来载入RSQLite包,提供数据库驱动SQLite()和数据库文件example.sqlite建立连接。如果目标文件不存在,数据库驱动会创建一个新的空文件,即空SQLite数据库:

library(RSQLite)

con = dbConnect(SQLite(), "../../R/data/example.sqlite")

数据库连接con是介于用户和系统中间的一层。我们可以创建一个连接,并且连接到关系型数据库,并通过这个连接实现查询、抽取以及更新数据。后续将一直使用这个连接,直到这个连接被关闭。

我们可以在关系数据库中创建新表,表看起来和R里的数据框是一样的。

下面创建一个数据框,并将它作为表插入数据库中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥1.00 继续阅读

推荐阅读更多精彩内容