3

我有一个大的 .sql 文件,作为 MySQL 数据库(包含多个表)的备份创建,我想从 R 中搜索其中的元素。

理想情况下,会有一个 read.sql 函数将表转换为包含 data.frames 的 R 列表。有什么接近的吗?如果没有,RSQLite 或 RMySQL 可以提供帮助吗?(通过参考手册,我没有看到我所描述的简单功能)

4

3 回答 3

2

没办法,老大。对于 R 来解释您的 MySQL 数据库文件,它必须完成 DBMS 本身所做的大部分工作。这是一项艰巨的任务,在一般情况下是不可行的。

于 2013-04-17T07:06:41.327 回答
1

这是否会返回您所寻求的(我认为在审查后您会承认尚未得到特别好的描述):

 require(RMySQL)
 drv <- dbDriver("MySQL")
 con <- dbConnect(drv)
 dbListTables(con)
 # Or
 names(dbGetInfo(drv))

如果这些只是源代码,那么您需要的只是readLines. 如果您正在寻找可以获取 SQL 代码并产生有用结果的 R 引擎,那么 sqldf 包可能会提供一些帮助。它解析嵌入在引用字符串中的 SQL 代码,并将其应用于内存中的数据帧对象或磁盘驻留表(或两者)。其磁盘文件的默认驱动程序是 SQLite,但也可以使用其他驱动程序。

于 2013-04-16T17:06:46.713 回答
0

到目前为止,我的解决方法(我也是 db 的新手)是在 phpMyAdmin 中将数据库导出为 .csv 文件(需要在“自定义”方法中勾选“将表导出为单独的文件”)。然后在我想使用的表上使用 read_csv() 。 自定义导出的快照,勾选最后一个框

这并不理想,因为我想导出数据库并在我的计算机上使用 R(创建在访问在线数据库时有效的函数)并在完成所有测试后访问真实数据库。但是从这里的答案看来,.sql 导出无论如何都无济于事(?)而且我需要在本地重新创建数据库......

于 2017-03-30T09:23:08.790 回答