如何用R语言连接和管理MYSQL数据库

如何用R语言连接和管理MYSQL数据库,第1张

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

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){}

}

一些常用的数据,处理好,放在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")# 查看表的内容,存到数据框里

把所有的编码都改为UTF-8,包括jsp页面,数据库编码等

数据库用的是UTF-8,客户端用GBK连接,这都没问题,但是JSP页面也得用UTF-8或者在保存前使用代码转化成UTF-8编码(String mycontent=new String(content.getBytes("ISO-8859-1"),"UTF-8"))也可以.

希望以上信息可以帮到您!


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存