概述
经常在网上看到,很多人问如何在R中如何连接数据库,尤其是如何使用RMySQL包的问题。这些问题主要分为两部分:一是 安装不上; 二是安装上了 结果显示是中文乱码或者是问号。我当初也被这种问题困扰过一段时间,所以现在简单总结一下:希望能够帮助部分人解决问题。
首先如何加载RMySQL包:细分几个步骤:
1,安装R(哈,当然这一步很多人可以跳过了)
2,安装R tools,最好要和R是一个版本 比如最新的R是2.15.0 R tools是Rtools215
链接:http://mirror.bjtu.edu.cn/cran/
3,安装MySQL(5.5)
4,在文件夹 C:Program FilesRR-2.15.0etc中创建 名为 Renviron.site的文件,并用记事本打开添加 MYSQL_HOME=C:/Program Files/MySQL/MySQL Server 5.5语句。
5,复制libmysql.lib and libmysql.dll(这两个文件在C:Program FilesMySQLMySQL Server 5.5lib )到文件夹C:Program FilesMySQLMySQL Server 5.5libopt(没有该文件夹需要自己建立)
6,复制libmysql.dll(C:Program FilesMySQLMySQL Server 5.5lib)到文件夹C:Program FilesRR-2.14.0bini386中
7,打开R,开始安装RMySQL,install.packages(‘RMySQL’, type = ‘source’);
链接:http://yixuan.cos.name/en/wp-content/uploads/2011/10/RMySQL_0.8-0_for_MySQL_5.5.16.zip
注意下载完,修改文件名为RMySQL_0.8-0.zip。
8,library(RMySQL),这个过程之前还需要加载DBI包。
下面回答第二个问题
R中能否正确显示Mysql的中文字符记录,而不是乱码或者问号,和MySQL的配置有关。
有关mysQL配置的资料很多,我只简单介绍,如何设置。
正确安装完mySQL之后,输入命令行:
show variables like ‘character_set_%’;
显示你的mySQL的字符集环境
如果发现有字符集latin1则修改为gbk或者utf8
比如character_set_database 的字符集合为latin1
则可以通过 SET character_set_database=”gbk”;可以修改字符集。
我的简单方式 是不管三七二十一,把所有的都修改为gbk。
这样设置完,我们就可以在R中调用操作数据库中的数据了。
假如安装mySQL时,设置user 为 root 密码 是六个1,并且已经在mySQL中建立了一个名为test的数据库,里面有一个表hi,里面有三个字段是 name,age,sex
则在R中查询按照年龄降序排列的代码如下:
library(RMySQL)
con=dbConnect(MySQL(),user="root",password="111111",dbname="test")
table.names=dbListTables(con)
fields.names=dbListFields(con,"hi")
dbSendQuery(con,'SET NAMES gbk') # 注意该行代码是告诉通过什么字符集来获取数据库字段,gbk或者utf8与你当初设置保持一致。
res=dbSendQuery(con,"select * from hi order by age")
dat=fetch(res)
dat
dbSendQuery(con,"insert into hi values('阿明',28,'男')")
res=dbSendQuery(con,"select * from hi order by age")
dat=fetch(res)
dat
dbDisconnect(con)
最后
以上就是刻苦故事为你收集整理的r mysql包_R使用RMySQL包的全部内容,希望文章能够帮你解决r mysql包_R使用RMySQL包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复