mysql - RMySQL - 自动从数据库表中读取数据

标签 mysql r rmysql

我有一段代码:

mydb <- dbConnect(MySQL(), user = "****", password = "****", dbname = "c_global", host = "")

df_ipt_rate_history   <- fetch(dbSendQuery(mydb, "select * from ipt_rate_history"), n=-1)
df_map_occupation     <- fetch(dbSendQuery(mydb, "select * from map_occupation"), n=-1)
df_map_titles         <- fetch(dbSendQuery(mydb, "select * from map_titles"), n=-1)
df_pcode_full_areas   <- fetch(dbSendQuery(mydb, "select * from pcode_full_areas"), n=-1)
df_pcode_rics_regions <- fetch(dbSendQuery(mydb, "select * from pcode_rics_regions"), n=-1)
df_pcode_sector_areas <- fetch(dbSendQuery(mydb, "select * from pcode_sector_areas"), n=-1)

...等等(多表)

dbDisconnect(mydb)

它工作正常,但有没有一种方法可以设置某种循环,在单个命令中读取数据库中的每个表(并输出到数据帧)?

谢谢

最佳答案

您可以使用 dbListTables 列出数据库中的所有表,然后使用实用函数 dbReadTable 读取它们的所有行和列。

all_data <- lapply(dbListTables(mydb), dbReadTable, conn = mydb)

顺便说一句,除非有必要,如果需要时可以从数据库中读取所有数据,那么将所有数据加载到内存中可能不是一个好主意。

关于mysql - RMySQL - 自动从数据库表中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58913810/

相关文章:

asp.net - 当我知道数据存在时,此 SQL 查询不返回任何内容

php - 一个更安全的 PDO::prepare?

mysql - 如何清理 tikiwiki 中的表index_5*

c++ - 使用 RcppArmadilloExtensions/sp_mat.h 从矩阵到 Armadillo 的稀疏矩阵转换

mysql - 如何在不同的MySQL表中指定不同名称的连接变量

SQL:我可以从另一个表中的变量中插入一些字段吗

r - ddply 在 R : for each group, 中找到特定变量的出现百分比

r - 在ggplot2中循环变量

mysql - 无法加载库 RMySQL

mysql - 如何在 Windows 7 上安装 RMySQL 包