R读取MySql数据库

R中有多种面向关系型数据库管理系统(DBMS)的接口,包括Microsoft SQL Server、Microsoft
Access、 MySQL、 Oracle、 PostgreSQL、 DB2、 Sybase、 Teradata以及SQLite。其中一些包通过原
生的数据库驱动来提供访问功能,另一些则是通过ODBC或JDBC来实现访问的。使用R来访问存
储在外部数据库中的数据是一种分析大数据集的有效手段,并且能够发挥SQL和R各自的优势。
(1)R通过ODBC连接数据库
在R中通过RODBC包访问一个数据库也许是最流行的方式,这种方式允许R连接到任意一种
拥有ODBC驱动的数据库,其实几乎就是市面上的所有数据库。
第一步是针对你的系统和数据库类型安装和配置合适的ODBC驱动——它们并不是R的一部
分。如果你的机器尚未安装必要的驱动,上网搜索一下应该就可以找到。
针对选择的数据库安装并配置好驱动后,请安装RODBC包。你可以使用命令
install.packages("RODBC")来安装它。
RODBC包中的主要函数:
odbcConnect(dsn,uid="",pwd="") 建立一个到ODBC数据库的连接
sqlFetch(channel,sqltable) 读取ODBC数据库中的某个表到一个数据框中
sqlQuery(channel,query) 向ODBC数据库提交一个查询并返回结果
sqlSave(channel,mydf,tablename=sqtable,append=FALSE)将数据框写入或更新(append=TRUE)到ODBC数据库的某个表中
sqlDrop(channel,sqtable) 删除ODBC数据库中的某个表
close(channel) 关闭连接
RODBC包允许R和一个通过ODBC连接的SQL数据库之间进行双向通信。这就意味着你不仅可
以读取数据库中的数据到R中,同时也可以使用R修改数据库中的内容。

library(RODBC)
myconn <- odbcConnect("mysqldata",uid="root",pwd="admin")
crimedat <- sqlFetch(myconn,Crime)
pundat <- sqlQuery(myconn,"select * from Punishment")
close(myconn)

这里首先载入了RODBC包,并通过一个已注册的数据源名称(mysqldata)和用户名(root)以
及密码(admin)打开了一个ODBC数据库连接。连接字符串被传递给sqlFetch,它将Crime表复制到R数据框crimedat中。然后我们对Punishment表执行了SQL语句select并将结果保
存到数据框pundat中。最后,我们关闭了连接。
函数sqlQuery()非常强大,因为其中可以插入任意的有效SQL语句。这种灵活性赋予了你
选择指定变量、对数据取子集、创建新变量,以及重编码和重命名现有变量的能力。

(2)R读取MySql数据乱码问题解决

在配置ODBC时,在Details里选择中文字符gbk格式,见图片

时间: 2024-10-11 00:14:36

R读取MySql数据库的相关文章

利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据

登录界面 <body><form action="login1.php" method="post"><div>用户名:<input type="text" name="uid" /></div><br /><div>密码:<input type="password" name="pwd" />

R连接mysql数据库方法详解

Warning messages: 1: In odbcDriverConnect("DSN=Rdata;UID=root") : [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 当R语言从数据库取出数据时,出现以上错误,这是由于未配置ODBC数据源引起的错误,以下将介绍该问题的解决方案,同时介绍R连接mysql数据库的方法一.配置ODBC数据源1.下载m

Python 读取MySQL数据库表数据

环境 Python 3.6 ,Window 64bit 目的 从MySQL数据库读取目标表数据,并处理 代码 # -*- coding: utf-8 -*- import pandas as pd import pymysql ## 加上字符集参数,防止中文乱码 dbconn=pymysql.connect( host="**********", database="kimbo", user="kimbo_test", password=&quo

反向读取Mysql数据库表结构到PowerDesigner中

转自:https://www.cnblogs.com/soinve/p/9776306.html 使用PowerDesigner挺长时间了,只是一些简单的表结构设计,因需要对当前数据库进行再设计,需要看一下数据库中所有的表,及表之间的关系,并重新修改表结构,因此需求就是怎么把数据库中的表结构反向生成到PowerDesigner中,以下是对该过程的实践,当前也搜索了其他同学的方法,便于后期使用即其他同学需要,整理该文章. 一.首先确认一下版本和环境 Mysql使用的版本(我用的是5.1) Powe

jsp页面上读取MySQL数据库datetime时间显示问题

mysql数据库中时间字段选用了datetime,如果通过java实现在jsp页面上显示时间为"年-月-日  时:分"等格式,那么如下代码就会有不同的结果! 实体类中两个变量: private Timestamp createDate;// 创建时间 private Date modifyDate;// 修改时间 接口实现类中给两个变量赋值: detail.setCreateDate(rs.getTimestamp("createDate")); detail.se

Spark读取mysql数据库实例

1.Spark可以读取多种数据源,本实例为读取mysql. 2.准备工作: sacla,idea,mysql-connector-java,版本从:https://mvnrepository.com/获取 3.代码示例: object WordFreq { def main(args: Array[String]) { val spark: SparkSession = SparkSession.builder().master("local").appName("getDa

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_

CI框架下PHP读取mySQL数据库

1.在application/config/database.php 中填写好数据库的相关内容 包括hostname username password database 等 2.新建一个文件 application/controllers/GuanliCon.php 代码如下 <?php class GuanliCon extends CI_Controller{ public function __construct() {      parent::__construct();      

简单使用PHP读取mySQl数据库

<?php header("Content-type:text/html;charset=utf-8"); $link=mysqli_connect('localhost','ye','');     // localhost可用127.0.0.1代替  mysql链接名为ye  密码为空值 mysqli_select_db($link,'test');  //选择数据库 即链接名ye下的数据库test mysqli_query($link,'set names utf8');