1. 进入mysql -u root -p123
show global variables like 'local_infile'; 查看 'local_infile'值如果为off 输入以下语句
set global local_infile=1; 改为on,即可从外部读入。
show databases; 查看有多少dbname;
2.进入Rstudio
library(RMySQL) 没有的话需要加载install.packages("RMySQL")
con <- dbConnect(MySQL(), user = 'root', password = '123', dbname = 'mysql',host = 'localhost')
dbname为1里面显示出来的选择一个即可。
3.创建一个数据框 fruits <-data.frame(id=1:5,name=c("苹果","香蕉","梨子","玉米","西瓜"),price=c(8.8,4.98,7.8,6,2.1),status=c("无","打折","无","售罄","批发"))这为网上找的数据框的例题。
4.把数据框里的字符串转换成UTF-8的形式
fruits[,"name"] = iconv(fruits[,"name"], from = 'gbk', to = 'utf-8')
fruits[,"status"] = iconv(fruits[,"status"], from = 'gbk', to = 'utf-8')
5把fruits写入MySQL数据库中,名字为fruits
dbWriteTable(con,"fruits",fruits,overwrite=TRUE)
6.把con里的全局变为gbk编码 dbSendQuery(con,'SET NAMES gbk') 注:这样的作用是在Windows系统中Rstudio默认的为GBK,这样我们才能把里面数据提取出来以至于不乱码;
7 用SQL语句进行提取query<-dbSendQuery(con, "SELECT * FROM fruits") 后面引号可以填写任意SQL语句进行提取
data <- fetch(query, n = -1) 数据显示 data提取出来为数据框即为我们读入的fruits表格。如果定义主键 外键啥的可以直接用SQL语句进行定义。
8.提取出来数据就可以用R语言进行分析了。注:用Rjdbc包也可以链接到但是建议如果单独学习MySQL的话用RMySQL比较好。数据库建议用linux系统。那里面就没有编码问题且比windows系统好用多了。