我是靠谱客的博主 刻苦故事,最近开发中收集的这篇文章主要介绍r mysql包_R使用RMySQL包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

经常在网上看到,很多人问如何在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包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部