English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQL est le gestionnaire de base de données relationnelle le plus populaire, en ce qui concerne les applications Web, MySQL est l'un des meilleurs logiciels de gestion de bases de données relationnelles (RDBMS : Gestionnaire de base de données relationnelle) utilisés.
Pour lire et écrire des fichiers MySQL en R, il est nécessaire d'installer le paquet d'extension, nous pouvons entrer la commande suivante dans la console R pour installer :
install.packages("RMySQL", repos = "https://mirrors.ustc.edu.cn/CRAN/")
Vérifier si l'installation a réussi :
> any(grepl("RMySQL",installed.packages())) [1] VRAI
MySQL est actuellement acquis par Oracle, c'est pourquoi beaucoup de gens utilisent sa version de copie MariaDB, MariaDB est open source sous GNU GPL, le développement de MariaDB est mené par certains développeurs originaux de MySQL, donc les opérations syntaxiques sont assez similaires :
install.packages("RMariaDB", repos = "https://mirrors.ustc.edu.cn/CRAN/")
Créer la table de données w dans la base de données test3codebox, la structure de la table et le code des données sont les suivants :
-- -- La structure de la table `w3codebox` -- CRÉER TABLE `w3codebox` ( `id` int(11) PAS SANS NULL `name` char(20) PAS SANS NULL `url` varchar(255) PAS SANS NULL `likes` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -- 转存表中的数据 `w3codebox` -- INSERT INTO `w3codebox` (`id`, `name`, `url`, `likes`) VALUES (1, 'Google', 'www.google.com', 111), (2, 'w3codebox', 'fr.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 表,增删改查操作可以通过第二个参数的 SQL 语句来实现 result = dbSendQuery(mysqlconnection, "select * from sites") # 获取前面两行数据 data.frame = fetch(result, n = 2) print(data.fame)