RMySQL解決dbWriteTable中文亂碼或不顯示問題


直接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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM