最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

R語言實現(xiàn)操作MySQL數(shù)據(jù)庫

 更新時間:2021年03月11日 09:05:07   作者:FTDdata  
這篇文章主要介紹了R語言實現(xiàn)操作MySQL數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧

用R語言做數(shù)據(jù)分析時,常常需要從多種數(shù)據(jù)源取數(shù)據(jù),其中數(shù)據(jù)庫是非常常見的數(shù)據(jù)源。用R操作MySQL數(shù)據(jù)庫,可以說是數(shù)據(jù)分析師必備的技能了,本文介紹RMySQL包,可以在R語言中對數(shù)據(jù)庫進行增刪改查的操作。

軟件版本

  • win10 64bit
  • r3.6.1
  • rstudio 1.2
  • RMySQL 0.10.20

安裝包

install.packages('RMySQL')

創(chuàng)建連接

用dbConnect函數(shù)創(chuàng)建連接,驅(qū)動類型設(shè)置為MySQL(),用戶名user、密碼password、主機host、端口port、數(shù)據(jù)庫dbname這些參數(shù)需要根據(jù)實際情況修改,其中端口port默認值是3306。

# 加載包
library(RMySQL)
# 創(chuàng)建連接
con <- dbConnect(MySQL(),
         user="root",
         password="xxx",
         host="192.168.1.244",
         port=3306,
         dbname="test")

還可以通過一些命令,查看連接的相關(guān)信息。

# 連接概述
summary(con)
## <MySQLConnection:0,5>
##  User:  root 
##  Host:  192.168.1.244 
##  Dbname: test 
##  Connection type: 192.168.1.244 via TCP/IP 
## 
## Results:
# 連接詳情
dbGetInfo(con)
## $host
## [1] "192.168.1.244"
## 
## $user
## [1] "root"
## 
## $dbname
## [1] "test"
## 
## $conType
## [1] "192.168.1.244 via TCP/IP"
## 
## $serverVersion
## [1] "5.7.23"
## 
## $protocolVersion
## [1] 10
## 
## $threadId
## [1] 465075
## 
## $rsId
## list()
# 列出連接下所有表
dbListTables(con)
## [1] "city"     "result"    
## [3] "t_json"    "tb_newChiller"

創(chuàng)建表

dbCreateTable函數(shù)創(chuàng)建表

# 方法1:字符向量
dbCreateTable(con,'table1',fields =c("id"='int',"value"="float"))
# 方法2:數(shù)據(jù)框
dbCreateTable(con,'table2',fields = mtcars)

注意點:

  • 設(shè)置fields參數(shù)時,用命名的字符向量(名字為字段名,值為字段數(shù)據(jù)類型)或數(shù)據(jù)框表示
  • 表只能創(chuàng)建一次,重復(fù)創(chuàng)建會報錯。

sql語句創(chuàng)建表

運行dbSendQuery函數(shù),調(diào)用sql語句創(chuàng)建表,該函數(shù)返回一個RMySQLResult類。該方法可以重復(fù)運行,不會報錯。

# 方法3:sql語句
dbSendQuery(con,'create table if not exists table3(id int,value float)')
## <MySQLResult:11,5,3>

讀取表

dbReadTable函數(shù)讀取表

# 先設(shè)置編碼(windows)
dbSendQuery(con,'set names gbk') 
 
## <MySQLResult:11,5,4>
# 讀取完整表
dbReadTable(con,'city')
 
##  id name city_code
## 1 1 北京  000001
## 2 4 南京  000002
## 3 7 廣州  000003
## 4 10 上海  000004
## 5 11 深圳  000005
## 6 13 蘇州  000006

注意點:

  • 返回的是整個表的數(shù)據(jù)
  • 為解決中文顯示問題,若運行R的操作系統(tǒng)為window,需要設(shè)置編碼為gbk,為Linux則需要設(shè)置為utf8
  • 返回的數(shù)據(jù)格式為data.frame

sql語句讀取表

通過運行dbGetQuery或dbSendQuery函數(shù),調(diào)用sql語句讀取表。
dbGetQuery函數(shù)運行sql語句,返回data.frame。可以在sql語句中編寫篩選語句。

# 讀取完整表
dbGetQuery(con,'select * from city')
 
##  id name city_code
## 1 1 北京  000001
## 2 4 南京  000002
## 3 7 廣州  000003
## 4 10 上海  000004
## 5 11 深圳  000005
## 6 13 蘇州  000006
# 讀取篩選的表
dbGetQuery(con,'select id,name from city where id > 10')
 
##  id name
## 1 11 深圳
## 2 13 蘇州

dbSendQuery函數(shù)運行sql語句,返回MySQLResult類。對該類使用dbFetch函數(shù),可以篩選行,返回data.frame。用完后需要用dbClearResult函數(shù)清理結(jié)果。

# 篩選前3行數(shù)據(jù)
res <- dbSendQuery(con,'select * from city')
dbFetch(res,3)
 
##  id name city_code
## 1 1 北京  000001
## 2 4 南京  000002
## 3 7 廣州  000003
dbClearResult(res)
 
## [1] TRUE

寫入表

dbWriteTable函數(shù)寫入表

# 寫入表
dbWriteTable(con,"iris",iris,row.names=FALSE,append=TRUE)
## [1] TRUE

注意點:

  • 第一次寫入時,若數(shù)據(jù)庫中無該表,會根據(jù)表名自動創(chuàng)建
  • 重復(fù)寫入時,需要設(shè)置寫入行為:

參數(shù)設(shè)置 解釋
append=TRUE 追加寫入,新數(shù)據(jù)在原數(shù)據(jù)行末添加
overwrite=TRUE 覆蓋寫入,新數(shù)據(jù)覆蓋原數(shù)據(jù)
row.names=FALSE 不寫入數(shù)據(jù)框的行名

  • append和overwrite兩個參數(shù)不能同時設(shè)置為TRUE。

sql語句插入數(shù)據(jù)

運行dbSendStatment函數(shù),調(diào)用sql語句插入數(shù)據(jù)。

dbSendStatement(con,'insert into table1 values(1,12)')
## <MySQLResult:1701147206,5,12>

注意點:

  • 重復(fù)運行會重復(fù)插入數(shù)據(jù)

刪除表

用dbRemoveTable函數(shù)刪除表。

# 刪除表
dbRemoveTable(con,'table1')
## [1] TRUE

dbRemoveTable(con,'table2')
## [1] TRUE

dbRemoveTable(con,'table3')
## [1] TRUE

dbRemoveTable(con,'iris')
## [1] TRUE

完成所有的操作后,需要關(guān)閉連接。

# 關(guān)閉連接
dbDisconnect(con)


## [1] TRUE

到此這篇關(guān)于R語言實現(xiàn)操作MySQL數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)R語言操作MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • R語言 實現(xiàn)在循環(huán)中輸出圖片的操作

    R語言 實現(xiàn)在循環(huán)中輸出圖片的操作

    這篇文章主要介紹了R語言 實現(xiàn)在循環(huán)中輸出圖片的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • RStudio中如何更改R包安裝位置淺析

    RStudio中如何更改R包安裝位置淺析

    R語言提供了豐富的功能和擴展包來支持各種任務(wù),默認R語言會將安裝的擴展包存儲在特定的目錄中,有時我們希望將這個默認存儲路徑更改為其他位置,以便更好地組織和管理我們的包,這篇文章主要給大家介紹了關(guān)于RStudio中如何更改R包安裝位置的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • R語言中矩陣matrix和數(shù)據(jù)框data.frame的使用詳解

    R語言中矩陣matrix和數(shù)據(jù)框data.frame的使用詳解

    這篇文章主要介紹了R語言中矩陣matrix和數(shù)據(jù)框data.frame的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-03-03
  • R語言數(shù)據(jù)可視化學(xué)習之圖形參數(shù)修改詳解

    R語言數(shù)據(jù)可視化學(xué)習之圖形參數(shù)修改詳解

    這篇文章主要給大家介紹了關(guān)于R語言數(shù)據(jù)可視化學(xué)習之圖形參數(shù)修改的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-03-03
  • R語言 檢驗多重共線性的操作

    R語言 檢驗多重共線性的操作

    這篇文章主要介紹了R語言 檢驗多重共線性的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言關(guān)于變量的知識點總結(jié)

    R語言關(guān)于變量的知識點總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于R語言關(guān)于變量的知識點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習下。
    2021-03-03
  • 使用R語言將表格導(dǎo)出為CSV文件簡單示例

    使用R語言將表格導(dǎo)出為CSV文件簡單示例

    這篇文章主要給大家介紹了關(guān)于使用R語言將表格導(dǎo)出為CSV文件的相關(guān)資料,CSV(逗號分隔值)是一種常見的文本文件格式,廣泛用于數(shù)據(jù)交換,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • R語言matrix生成矩陣的方法

    R語言matrix生成矩陣的方法

    這篇文章主要介紹了R語言matrix生成矩陣的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-03-03
  • 使用R語言批量修改文件名的方法

    使用R語言批量修改文件名的方法

    這篇文章主要介紹了使用R語言批量修改文件名的方法,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 教你利用R語言測試電腦的性能

    教你利用R語言測試電腦的性能

    這篇文章主要介紹了利用R語言測試電腦的性能如何,通過矩陣的運算來計算,本文通過代碼講解的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04

最新評論

文水县| 曲沃县| 察哈| 奇台县| 文化| 于田县| 运城市| 枞阳县| 荥经县| 苍梧县| 宁德市| 和平县| 临沧市| 尼木县| 涿鹿县| 延长县| 南华县| 栾城县| 达孜县| 新晃| 威信县| 陆良县| 垣曲县| 澄迈县| 绥芬河市| 咸阳市| 新乡县| 长治县| 萨嘎县| 永福县| 阜宁县| 项城市| 洛南县| 安康市| 汉阴县| 永和县| 宿松县| 长岛县| 扶绥县| 白水县| 南部县|