精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識 > 網(wǎng)絡(luò)技術(shù) >

      Linux使用ODBC方式還是DBI方式安裝R語言擴展包好

      時間: 加城1195 分享

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

        Linux使用ODBC方式還是DBI方式安裝R語言擴展包好?

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

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

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

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

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

        .read Scheme.sql

        .read Data.sql

        .backup train.db

        3、在R中安裝RSQlite包

        install.packages(‘RSQlite’)

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

        library(RSQLite)

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

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

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

        dbListTables(con)

        # 觀察其中一個表的字段

        dbListFields(con, ‘Apply’)

        # 寫一段SQL語句,來選取需要的數(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中,同時顯示出來

        (data 《- dbGetQuery(con, sql))

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

        dbDisconnect(con)

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

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

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

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

        show tables; 顯示表

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

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

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

        顯示當前mysql版本和當前日期

        select version(),current_date;

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

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

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

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

        常見的優(yōu)化:

        # alter table xxx engine myisam;

        # optimize table t1;

        注意: 在實際開發(fā)的過程中,上面兩個語句盡量少使用,因為在使用的過程中,MySQL的表的結(jié)構(gòu)會整體全部重新整理,需要消耗很多的資源,建議在凌晨兩三點鐘的時候執(zhí)行。(在linux下有定時器腳本可以執(zhí)行,crontab)


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

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

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

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

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

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

      4015286