六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識(shí) > 網(wǎng)絡(luò)技術(shù) >

Linux使用ODBC方式還是DBI方式安裝R語(yǔ)言擴(kuò)展包好

時(shí)間: 加城1195 分享

  在R中連接數(shù)據(jù)庫(kù)需要安裝其它的擴(kuò)展包,根據(jù)連接方式不同我們有兩種選擇:一種是ODBC方式,需要安裝RODBC包并安裝ODBC驅(qū)動(dòng)。另一種是DBI方式,可以根據(jù)已經(jīng)安裝的數(shù)據(jù)庫(kù)類型來安裝相應(yīng)的驅(qū)動(dòng)。那么我們?cè)撌褂肙DBC方式進(jìn)行安裝還是使用DBI方式進(jìn)行安裝呢?今天小編就給大家分析下這兩種安裝方式的區(qū)別吧。

  Linux使用ODBC方式還是DBI方式安裝R語(yǔ)言擴(kuò)展包好?

  在R中連接數(shù)據(jù)庫(kù)需要安裝其它的擴(kuò)展包,根據(jù)連接方式不同我們有兩種選擇:一種是ODBC方式,需要安裝RODBC包并安裝ODBC驅(qū)動(dòng)。另一種是DBI方式,可以根據(jù)已經(jīng)安裝的數(shù)據(jù)庫(kù)類型來安裝相應(yīng)的驅(qū)動(dòng)。因?yàn)楹笳弑A袅烁鲾?shù)據(jù)庫(kù)原本的特性,所以個(gè)人比較偏好用DBI連接方式。有下面這幾種主要的包提供了DBI連接:RMySQL,RSQLite,ROracle,RPostgreSQL。由名字看得出它們分別對(duì)應(yīng)了幾種主流的數(shù)據(jù)庫(kù)。

  這幾種數(shù)據(jù)庫(kù)中SQLite是一個(gè)輕量級(jí)的數(shù)據(jù)庫(kù),完全免費(fèi),使用方便,不需要安裝,無須任何配置,也不需要管理員。如果只需要本地單機(jī)操作,用它來配合R來存取數(shù)據(jù)是非常方便的。

  R中操作SQLite數(shù)據(jù)庫(kù)的示例。

  1、下載SQLite,它是一個(gè)單獨(dú)的執(zhí)行文件,并且是在命令行下操作。如果不習(xí)慣可以安裝sqlitebrowser之類的GUI。先把它放到一個(gè)文件夾中,例如sqlite。

  2、在sqlite中執(zhí)行sql腳本,建立一個(gè)數(shù)據(jù)庫(kù)。將腳本文件放到同一個(gè)文件夾中,然后執(zhí)行下面的。現(xiàn)在文件夾中應(yīng)該有train.db這個(gè)數(shù)據(jù)庫(kù)文件了。

  .read Scheme.sql

  .read Data.sql

  .backup train.db

  3、在R中安裝RSQlite包

  install.packages(‘RSQlite’)

  4、加載RSQlite包,建立連接后用SQL讀取數(shù)據(jù)

  library(RSQLite)

  # 建立連接,注意數(shù)據(jù)庫(kù)類型和文件地址

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

  # 觀察數(shù)據(jù)庫(kù)中有三個(gè)數(shù)據(jù)表格

  dbListTables(con)

  # 觀察其中一個(gè)表的字段

  dbListFields(con, ‘Apply’)

  # 寫一段SQL語(yǔ)句,來選取需要的數(shù)據(jù)

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

  from Student, Apply

  where Student.sID = Apply.sID

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

  # 將選取的數(shù)據(jù)存入到data中,同時(shí)顯示出來

  (data 《- dbGetQuery(con, sql))

  # 關(guān)閉數(shù)據(jù)庫(kù)連接

  dbDisconnect(con)

  補(bǔ)充:MySQL 數(shù)據(jù)庫(kù)常用命令

  create database name; 創(chuàng)建數(shù)據(jù)庫(kù)

  use databasename; 進(jìn)入數(shù)據(jù)庫(kù)

  drop database name 直接刪除數(shù)據(jù)庫(kù),不提醒

  show tables; 顯示表

  describe tablename; 查看表的結(jié)構(gòu)

  select 中加上distinct去除重復(fù)字段

  mysqladmin drop databasename 刪除數(shù)據(jù)庫(kù)前,有提示。

  顯示當(dāng)前mysql版本和當(dāng)前日期

  select version(),current_date;

  數(shù)據(jù)庫(kù)維護(hù)方法

  在MySQL使用的過程中,在系統(tǒng)運(yùn)行一段時(shí)間后,可能會(huì)產(chǎn)生碎片,造成空間的浪費(fèi),所以有必要定期的對(duì)MySQL進(jìn)行碎片整理。

  當(dāng)刪除id=2的記錄時(shí)候,發(fā)生的現(xiàn)象

  這個(gè)時(shí)候發(fā)現(xiàn)磁盤的空間并沒有減少。這種現(xiàn)象就叫做碎片化(有一部分的磁盤空間在數(shù)據(jù)刪除以后(空),還是無法被操作系統(tǒng)所使用。)

  常見的優(yōu)化:

  # alter table xxx engine myisam;

  # optimize table t1;

  注意: 在實(shí)際開發(fā)的過程中,上面兩個(gè)語(yǔ)句盡量少使用,因?yàn)樵谑褂玫倪^程中,MySQL的表的結(jié)構(gòu)會(huì)整體全部重新整理,需要消耗很多的資源,建議在凌晨?jī)扇c(diǎn)鐘的時(shí)候執(zhí)行。(在linux下有定時(shí)器腳本可以執(zhí)行,crontab)


sql腳本相關(guān)文章:

1.sql數(shù)據(jù)庫(kù)的單表查詢

2.Oracle SQLDeveloper連接數(shù)據(jù)庫(kù)并創(chuàng)建用戶

3.sql數(shù)據(jù)庫(kù)表操作之唯一性約束和默認(rèn)約束

4.perl操作數(shù)據(jù)庫(kù)

5.sql數(shù)據(jù)庫(kù)的操作

4015286