使用RMySQL将列添加到现有mysql表中
我希望能够将列添加到现有的使用RMySQL将列添加到现有mysql表中,mysql,r,rmysql,Mysql,R,Rmysql,我希望能够将列添加到现有的表中,并具有相应的类型 我就是这样尝试的: library("RMySQL") # Connect to DB v_db <- dbConnect(MySQL(), user="USERNAME", password="PASSWORD", dbname="DBNAME", host="localhost") on.exit(dbDisconnect(v_db)) #Read in my new dat
表中,并具有相应的类型
我就是这样尝试的:
library("RMySQL")
# Connect to DB
v_db <- dbConnect(MySQL(),
user="USERNAME", password="PASSWORD",
dbname="DBNAME", host="localhost")
on.exit(dbDisconnect(v_db))
#Read in my new data (into R)
newcolumn <- read.csv("test.csv")
newcolumn
id datafornewcolumn
1 4
2 5
3 8
dbq <- dbSendQuery(v_db, "SELECT * FROM `EXISTINGTABLE`")
dbq <- fetch(dbq, n = -1)
dbq
id existing columns
1 ...
2 ...
3 ...
dbWriteTable(v_db, "EXISTINGTABLE", merge(dbq, newcolumn, by="id", all.x=TRUE), row.name=FALSE, overwrite=T)
结果应该如下所示:
EXISTINGTABLE
id existingcolumns datafornewcolumn
1 ... 4
2 ... 5
3 ... 8
向现有表中添加列的操作如下:
library(dbConnect) # *loads the packages Loading required package: RMySQL
Loading required package: DBI
Loading required package: methods
Loading required package: gWidgets*
mydb =dbConnect(MySQL(),user='root',password='newpass',dbname='database_name', host='localhost')
my_table <- dbReadTable(conn=mydb,name='table_name')
my_table$column_name<- NA # *creates new column named column_name and populates its value NA*
head(my_table) # *shows the data*
library(dbConnect)#*加载包加载所需的包:RMySQL
正在加载所需的包:DBI
加载所需包:方法
正在加载所需的包:gWidgets*
mydb=dbConnect(MySQL(),user='root',password='newpass',dbname='database\u name',host='localhost')
my_table您是否尝试过使用SQL和ALTER table语句修改表
rs <- dbSendStatement(v_db, "ALTER TABLE table_name ADD COLUMN [...]")
dbHasCompleted(rs)
dbGetRowsAffected(rs)
dbClearResult(rs)
我的问题似乎模棱两可。对不起。我确实知道如何在R中做到这一点。然而,我想知道如何在MySQL中从R中做到这一点。。。
rs <- dbSendStatement(v_db, "ALTER TABLE table_name ADD COLUMN [...]")
dbHasCompleted(rs)
dbGetRowsAffected(rs)
dbClearResult(rs)