直接R语言代码
library(RMySQL)conn<-dbConnect(RMySQL::MySQL(),host=‘10.4.20.116‘,port=3306,dbname=‘test‘,username=‘biuser‘,password=‘biuser‘)
dbSendQuery(conn,‘SET NAMES gbk‘)
# 建表并插入数据
t_demo<-data.frame(
a=seq(1:10),
b=letters[1:10],
c=rnorm(10) ) #数据库创建表 dbWriteTable(conn, "t_demo", t_demo)
dbReadTable(conn, "t_demo") #新数据data.frame t_demo_n <- data.frame(
a=1:2,
b=c("中文","中文2"),
c=c(0.012,1.22) ) #如果用dbWriteTable插入会不显示 dbWriteTable(conn, "t_demo", t_demo_n, append=TRUE) #建议使用字符串编写Insert into语句 插入数据 或者使用UPDATE语句插入数据 strSQL <- paste(
‘insert into t_demo (a, b, c) values‘,
paste(sprintf("(%i,‘%s‘, %f )", t_demo_n$a, t_demo_n$b,t_demo_n$c), collapse=‘, ‘),
sep = ‘ ‘ ) #执行SQL语句 dbSendQuery(conn, strSQL) #关闭连接 dbDisconnect(conn)
RMySQL解决dbWriteTable中文乱码或不显示问题
标签: