r 连接mysql数据库怎么实现

r 连接mysql数据库怎么实现,第1张

一、配置数据

1

下载Connector/ODBC

该软件相当于R与Mysql的桥梁,下载地址请看图片;

R连接数据库(MySql)

2

安装Connector/ODBC

下载后,双击安装文件,默认选项安装,只管点击下一步直至“finish",成功安装后将在C:\Program Files\MySQL\中看到如下文件(Connector ODBC 5.3);

R连接数据库(MySql)

3

配置数据源

打开”控制面板——>管理工具“,找到”数据源(ODBC)“并双击;

R连接数据库(MySql)

4

添加ODBC Driver

单击右侧”添加“按钮,选中ODBC Driver,在d出的对话框中依次填写各项信息:

data source name:随意填,如mysql_data

description:随意填,如mydata

TCP/IP Server:填写服务器IP,通常为”127.0.0.1“

user:填写你的mysql用户名

password:填写你的mysql密码

最后在数据库中选中你将要 *** 纵的数据库,单击完成。

R连接数据库(MySql)

R连接数据库(MySql)

END

二、连接数据库

1

R中创建数据框

打开R软件,将你需要保存到数据库的数据传入数据框。如从桌面导入.csv数据到数据框myframe

file <- "C:/Users/Administrator/Desktop/TEST.csv"

myframe <- read.table(file, header = TRUE, sep = ",")

myframe[1:10,] #查看你传入数据框中的数据

R连接数据库(MySql)

2

通过R创建数据库表

此处将上面myframe数据框中的数据存入数据库中,并将表名命名为”population“;

install.packages("RODBC") #如果你还没有安装此包

library(RODBC)

channel <- odbcConnect("mysql_data", uid = "root", pwd = "******")

sqlSave(channel, myframe, tablename = "population", append = FALSE)

close(channel)

R连接数据库(MySql)

3

校验结果

打开你的数据库,在数据库中查看刚才用R创建的数据库表是否存在。该例用R创建的数据库表名为”population“,打开数据库,发现”population“表已经成功创建到数据库。心痒痒吧,还等神马,赶紧动手试试!!!

R连接数据库(MySql)

R连接数据库(MySql)

END

后记

R与数据库(Mysql)间的桥梁已经搭好,并在案例中演示了向数据库存入数据的过程,相信你早已的脑洞大开,接下来从数据库中删出某个表、取数据等就不是问题了。

R连接数据库(MySql)

END

注意事项

细心的你已经发现,在配置数据源的第四个步骤中设置的data source name值”mysql_data",正是R中创建数据库连接odbcConnect函数的第一个参数值。

如何把R语言中的中文数据导入到mysql

一些常用的数据,处理好,放在mySQL里,以后使用起来也方便。

可以用R直接进行分析,具体步骤如下:

1、R下载RODBC包,安装好。

2、在http://dev.mysql.com/downloads/connector/odbc

下载mySQL ODBC,安装好。

3、windows:控制面板->管理工具->数据源(ODBC)->双击->添加->选中mysql ODBC driver一项

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

description一项随意填写,例如mydata

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

user 填写你的mysql用户名

password 填写你的mysql密码

然后数据库里会出现你的mysql里的所有数据库,选择一个数据库。

确定。

4、打开R的界面调用数据库:

1 2 3 4

library(RODBC)channel <- odbcConnect("mysql_data", uid="root",pwd="123")sqlTables(channel)#查看数据中的表 data<-sqlFetch(channel,"kegg")# 查看表的内容,存到数据框里

链接数据库其实很简单具体代码如下:

package db

import java.sql.*

public class DB {

private Connection con=null

private Statement stmt=null

private ResultSet rs=null

public DB(){}

public Connection getConnection(){

String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8"

String dbuser="root"

String dbpass="sa"

String name="com.mysql.jdbc.Driver"

if(con==null){

try{

Class.forName(name).newInstance()

}catch(Exception e){

System.out.println(e)

}

try{

con=DriverManager.getConnection(url,dbuser,dbpass)

}catch(Exception e){}

}

return con

}

public ResultSet exeQuery(String sql){

try{

con=getConnection()

if(con==null){

throw new Exception("没有可连接对象")

}

stmt=con.createStatement()

rs=stmt.executeQuery(sql)

}catch(Exception e){}

return rs

}

public boolean update(String sql){

boolean flag=true

try{

con=getConnection()

if(con==null) throw new Exception("没有可连接对象")

stmt=con.createStatement()

stmt.executeUpdate(sql)

}catch(Exception e){

flag=false

System.out.println("异常:"+e)

}

return flag

}

public void close(){

try{

if(rs!=null)try{rs.close()}catch(Exception e){System.out.println("rs"+e)}

try{stmt.close()}catch(Exception e){System.out.println("stmt"+e)}

try{con.close()}catch(Exception e){System.out.println("con"+e)}

}catch(Exception e){}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8664693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存