R MySQL 連接

MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一。

R 語言讀寫 MySQL 文件需要安裝擴展包,我們可以在 R 到控制臺輸入以下命令來安裝:

install.packages("RMySQL", repos = "https://mirrors.ustc.edu.cn/CRAN/")

查看是否安裝成功:

> any(grepl("RMySQL",installed.packages()))
[1] TRUE

MySQL 目前被甲骨文收購,所以很多人使用來它的復(fù)制版本 MariaDB,MariaDB 在 GNU GPL下開源,MariaDB 的開發(fā)是由 MySQL 的一些原始開發(fā)者領(lǐng)導(dǎo)的,所以語法操作都差不多:

install.packages("RMariaDB", repos = "https://mirrors.ustc.edu.cn/CRAN/")

在 test 數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表 nhooo,表結(jié)構(gòu)及數(shù)據(jù)代碼如下:

--
-- 表的結(jié)構(gòu) `nhooo`
--
 
CREATE TABLE `nhooo` (
  `id` int(11) NOT NULL,
  `name` char(20) NOT NULL,
  `url` varchar(255) NOT NULL,
  `likes` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
--
-- 轉(zhuǎn)存表中的數(shù)據(jù) `nhooo`
--
 
INSERT INTO `nhooo` (`id`, `name`, `url`, `likes`) VALUES
(1, 'Google', 'www.google.com', 111),
(2, 'Nhooo', 'www.soo66.com', 222),
(3, 'Taobao', 'www.taobao.com', 333);

接下來我們可以使用 RMySQL 包來讀取數(shù)據(jù):

library(RMySQL)

# dbname 為數(shù)據(jù)庫名,這邊的參數(shù)請根據(jù)自己實際情況填寫
mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'test',host = 'localhost')

# 查看數(shù)據(jù)
dbListTables(mysqlconnection)

接下來我們可以使用 dbSendQuery 來讀取數(shù)據(jù)庫的表,結(jié)果集通過 fetch() 函數(shù)來獲?。?/p>

library(RMySQL)
# 查詢 sites 表,增刪改查操作可以通過第二個參數(shù)的 SQL 語句來實現(xiàn)
result = dbSendQuery(mysqlconnection, "select * from sites")

# 獲取前面兩行數(shù)據(jù)
data.frame = fetch(result, n = 2)
print(data.fame)
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清