R语言
R语言访问数据库主要通过两种方式:一种是下载并安装RODBC,然后加载RODBC进行访问,这种方式比较简单,但需要在ODBC中注册,也就是说只能在Windows环境下使用,如果是Linux就没办法了。
1、R下载安装RODBC包
> install.packages("RODBC")
2、在http://dev.mysql.com/downloads/connector/odbc下载mySQL ODBC
3、windows:控制面板->管理工具->数据源(ODBC)->双击->添加->选中mysql ODBCdriver填写:data source name 一项填入你要使用的名字,自己随便命名,例如:mysql_data;
description一项随意填写,例如mydata
TCP/IP Server 填写本机服务器IP,一般为:127.0.0.1
user 填写你的mysql用户名
password 填写你的mysql密码
然后数据库里会出现你的mysql里的所有数据库,选择一个数据库。
5、library(RODBC);
channel<- odbcConnect("mysql_data", uid="root",pwd="123");
sqlTables(channel);#查看数据中的表
data<-sqlFetch(channel,"kegg")
另外一种方式是:DBI方式,即安装数据库提供的R语言驱动库,主流数据库都提供,这种方式可以在Linux下使用
> install.packages('RMySQL')
> library(RMySQL)
>conn<-dbConnect(MySQL(),dbname='book',username='root',password='root')
>job=dbGetQuery(conn,"SELECT * FROM job")
> dbDisconnect(conn)
[1] TRUE
> job
不过要注意的是,这样查询出来的结果是有乱码?的,网上也有很多朋友提到了这个问题,
解决方法如下:
> conn<-dbConnect(MySQL(),dbname='book',username='root',password='root');
> dbSendQuery(conn,'SET NAMES gbk');
> job=dbGetQuery(conn,'select CITY,round(avg(SALARY))FROM job GROUP BY CITY');
> job
可以参考:http://blog.fens.me/r-mysql-rmysql/
Python
如果是python3以前的版本可以用MySQLdb,我升级成python3.2了,因此讲一下在python3的环境下怎么访问数据库
1、在github上下载pymysql的安装包 pymysql
2、打开cmd窗口(win环境下),进入pymysql的根目录下执行命令,python setup.py install
3、import pymysql
4、连接数据库
import pymysql
connection =pymysql.connect(host='localhost',user='root',password='root',port=3306,db='book',charset='utf8')
cur=connection.cursor()
cur.execute('select * from job')
data=cur.fetchall()
for d in data:
print("ID:"+str(d[0])+' 职位名字: '+d[1])