English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R MySQL 接続

MySQL は最も人気のある関係型データベース管理システムであり、WEB アプリケーションにおいては最も優れた RDBMS(関係データベース管理システム)アプリケーションの一つです。

R 言語で MySQL ファイルを読み書きするには、拡張パッケージをインストールする必要があります。以下のコマンドを R コンソールに実行してインストールできます:

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

インストールが成功したか確認してください:

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

MySQL はオラクルに買収されましたので、多くの人がそのコピー版である MariaDB を使用しています。MariaDB は GNU GPL 下でオープンソースであり、MariaDB の開発は MySQL の一部のオリジナル開発者がリードしていますので、文法や操作はほぼ同じです:

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

test データベースにデータテーブル w を作成します3codebox、表の構造およびデータコードは以下の通りです:

--
-- 表の構造 `w3codebox`
--
 
CREATE TABLE `w3codebox` (
  `id` int(11NOT NULL
  `name` char(20) NOT NULL
  `url` varchar(255NOT NULL
  `likes` int11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
--
-- テーブルのデータを転存 `w3codebox`
--
 
INSERT INTO `w3codebox` (`id`, `name`, `url`, `likes`) VALUES
(1, 'Google', 'www.google.com', 111),
(2, 'w3codebox', 'ja.oldtoolbag.com', 222),
(3, 'Taobao', 'www.taobao.com', 333);

次に、RMySQL パッケージを使用してデータを読み取ることができます:

library(RMySQL)
# dbname はデータベース名です。このパラメータは自分の状況に応じて設定してください
mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'test', host = 'localhost')
# データを確認
dbListTables(mysqlconnection)

次に、dbSendQuery を使用してデータベースのテーブルを読み取ることができます:結果セットは fetch() 関数で取得されます:

library(RMySQL)
# sites テーブルをクエリ,CRUD 操作は二番目のパラメータの SQL ステートメントで実行できます
result = dbSendQuery(mysqlconnection, "select * from sites")
# 前面の2行データを取得
data.frame = fetch(result, n = 2)
print(data.fame)