mysql - 将数据从 R 中的数据框加载到 MySQL 中具有相同名称但模式名称不同的多个表中
问题描述
我将它包含df
在R
各种列中,例如 ID、名称、产品和其他不重要的内容。唯一重要的是ID。在此df
,有多个具有相同 ID 的行与我要更新的架构具有相同的名称MySQL
。可以说这是表格:
ID | 姓名 | 产品 | 其他的东西 |
---|---|---|---|
tt637 | jj | 第二季度 | 哈哈... |
tt637 | 男朋友 | 第四季度 | jhsdf... |
tt637 | cj | 第一季度 | jhfdl... |
klm457 | jj | 第二季度 | jshfd... |
klm457 | lk | 第四季度 | uipc... |
klm457 | 重量 | 第一季度 | qapfn.. |
.. 对于所有 100 多个ID 模式 |
正如我提到的,模式与数据框中的 ID 具有相同的名称。但是,在模式中有一个名为info
;的表。所以我们有:ttt637.info
和klm457.info
100+。
我想要做的是我想根据单个数据框更新.info
100 多个模式中的表,但将与每个模式相关的内容分配给所有 100 多个表。请注意,某些表格中可能已经有一些信息可用,因此如果那里有需要更新的值。MySQL
R
ID
schemas.info
schemas.info
我需要使用 for 循环或函数来自动化整个过程。
有人可以帮助我如何做到这一点吗?
我知道对于一个模式,我可以使用类似How to write entire dataframe into mySql table in R但不确定多个模式。
谢谢。
解决方案
我的博士生导师帮助我弄清楚了如何做到这一点。基本上他写道:
for ID_loop in info$ID {
print(ID_loop)
whattoinsert <- info %>% select(ID) %>% distinct()
query = paste("USE schemas.info",
ID_loop,
sep = " ")
print(query)
results <- DBI:dbGetQuery(con,query)
dbWriteTable(con, "info",whattoinsert,overwrite = TRUE)
}
Kudus 给他 :)
推荐阅读
- javascript - 如何在 AJAX 表单中实现 Reddit 广告事件跟踪转换代码?
- sql - 如何在 Oracle 中查找部分重复值
- c# - 在使用 Visual Studio 和 MS Access 时,我能否在连接字符串中使用环境变量?
- java - JUnit 测试:如何测试嵌套的 Exeption?
- c - 有int数据类型数组函数吗?
- pointers - 在 vbscript 中打开窗口对话框后如何更改变量?
- r - 如何使用 R 在另一列上保留以前的 id 条件?
- python - 在python中将数据添加到html变量
- python-3.x - 当并行度设置为很大时,气流调度程序启动异常
- ios - 如何在swift中使用视觉框架从其特征点中提取外唇