linux的加载dbi环境配置,Linux使用ODBC方式还是DBI方式安装R语言扩展包好

在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动。那么我们该使用ODBC方式进行安装还是使用DBI方式进行安装呢?今天小编就给大家分析下这两种安装方式的区别吧。

edb920013d8f0f9f830725f6a5dd71ef.png

Linux使用ODBC方式还是DBI方式安装R语言扩展包好?

在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动。因为后者保留了各数据库原本的特性,所以个人比较偏好用DBI连接方式。有下面这几种主要的包提供了DBI连接:RMySQL,RSQLite,ROracle,RPostgreSQL。由名字看得出它们分别对应了几种主流的数据库。

这几种数据库中SQLite是一个轻量级的数据库,完全免费,使用方便,不需要安装,无须任何配置,也不需要管理员。如果只需要本地单机操作,用它来配合R来存取数据是非常方便的。

R中操作SQLite数据库的示例。

1、下载SQLite,它是一个单独的执行文件,并且是在命令行下操作。如果不习惯可以安装sqlitebrowser之类的GUI。先把它放到一个文件夹中,例如sqlite。

2、在sqlite中执行sql脚本,建立一个数据库。将脚本文件放到同一个文件夹中,然后执行下面的。现在文件夹中应该有train.db这个数据库文件了。

.read Scheme.sql

.read Data.sql

.backup train.db

3、在R中安装RSQlite包

install.packages(‘RSQlite’)

4、加载RSQlite包,建立连接后用SQL读取数据

library(RSQLite)

# 建立连接,注意数据库类型和文件地址

con 《- dbConnect(‘SQLite’, dbname=‘d:/sqlite/train.db’)

# 观察数据库中有三个数据表格

dbListTables(con)

# 观察其中一个表的字段

dbListFields(con, ‘Apply’)

# 写一段SQL语句,来选取需要的数据

sql 《- “select sName, GPA, decision ,cName

from Student, Apply

where Student.sID = Apply.sID

and sizeHS 《 1000 and major = ‘CS’ and cName = ‘Stanford’”

# 将选取的数据存入到data中,同时显示出来

(data 《- dbGetQuery(con, sql))

# 关闭数据库连接

dbDisconnect(con)

补充:MySQL 数据库常用命令

create database name; 创建数据库

use databasename; 进入数据库

drop database name 直接删除数据库,不提醒

show tables; 显示表

describe tablename; 查看表的结构

select 中加上distinct去除重复字段

mysqladmin drop databasename 删除数据库前,有提示。

显示当前mysql版本和当前日期

select version(),current_date;

数据库维护方法

在MySQL使用的过程中,在系统运行一段时间后,可能会产生碎片,造成空间的浪费,所以有必要定期的对MySQL进行碎片整理。

当删除id=2的记录时候,发生的现象

这个时候发现磁盘的空间并没有减少。这种现象就叫做碎片化(有一部分的磁盘空间在数据删除以后(空),还是无法被操作系统所使用。)

常见的优化:

# alter table xxx engine myisam;

# optimize table t1;

注意: 在实际开发的过程中,上面两个语句尽量少使用,因为在使用的过程中,MySQL的表的结构会整体全部重新整理,需要消耗很多的资源,建议在凌晨两三点钟的时候执行。(在linux下有定时器脚本可以执行,crontab)

sql脚本相关文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值