您的位置:首页 > 数据库 > MySQL

R语言连接Mysql数据库的步骤及简单使用(学习笔记)

2015-11-05 10:49 831 查看
实验环境:win8.1-64操作系统,MySQL5.6

1、下载(mysql-connector-odbc-5.3.4-winx64.msi)

下载地址:http://dev.mysql.com/downloads/connector/odbc



2、安装mysql-connector-odbc-5.3.4-winx64.msi(安装按照默认就好了)

3、配置datasource

windows:控制面板⇒管理工具⇒ODBC 数据源(64 位)⇒添加⇒选中mysql ODBC driver一项

data source name 一项填入你要使用的名字,自己随便命名,例如:MySQL;

description一项随意填写,例如MyWorld;

TCP/IP Server 填写本机服务器IP,一般为:127.0.0.1;

user 填写你的mysql用户名;

password 填写你的mysql密码;

然后数据库里会出现你的mysql里的所有数据库(我这里选world),选择一个数据库,OK。



4、使用R连接MySQL

连接数据库

# 加载包RODBC
library(RODBC)

# 连接MySQL数据库
channel <- odbcConnect("MySQL", uid="root", pwd="root")


查看数据world中的表

> sqlTables(channel)
TABLE_CAT TABLE_SCHEM      TABLE_NAME TABLE_TYPE REMARKS
1     world                        city      TABLE
2     world                     country      TABLE
3     world             countrylanguage      TABLE


查看表city的内容,存到数据框data里

> data<-sqlFetch(channel,"city")
> head(data)
ID           Name CountryCode      District Population
1  1          Kabul         AFG         Kabol    1780000
2  2       Qandahar         AFG      Qandahar     237500
3  3          Herat         AFG         Herat     186800
4  4 Mazar-e-Sharif         AFG         Balkh     127800
5  5      Amsterdam         NLD Noord-Holland     731200
6  6      Rotterdam         NLD  Zuid-Holland     593321


使用SQL语句查询,查询Population大于等于500万的人名,并按ID降序排序

> sqlQuery(channel,"select ID,Name,Population from city where Population >= 5000000 order by id desc")
ID                Name Population
1  3793            New York    8008278
2  3580              Moscow    8389200
3  3357            Istanbul    8787958
4  3320             Bangkok    6320174
5  2890                Lima    6464693
6  2823              Lahore    5063499
7  2822             Karachi    9269265
8  2515   Ciudad de M??xico    8591309
9  2331               Seoul    9981619
10 2298            Kinshasa    5064000
11 2257 Santaf?? de Bogot??    6260862
12 1893             Tianjin    5286800
13 1892           Chongqing    6351600
14 1891              Peking    7472000
15 1890            Shanghai    9696300
16 1532               Tokyo    7980230
17 1380             Teheran    6758845
18 1025               Delhi    7206704
19 1024     Mumbai (Bombay)   10500000
20  9
b495
39             Jakarta    9604900
21  608               Cairo    6789479
22  456              London    7285000
23  207      Rio de Janeiro    5598953
24  206          S??o Paulo    9968485


将数据框iris中的数据保存到数据库的表中

> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa


# 由于数据框没有行名,所以保存到数据库中时需要指定一个行名(比如这里是“id”)
> sqlSave(channel, iris, rownames = "id", addPK = TRUE)


打开cmd进入到mysql,使用语句

use world
show tables;




select * from iris;




删除数据库中的表iris

sqlDrop(channel,"iris")




关闭数据库的连接

odbcClose(channel)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql r语言