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

Conexión MySQL en R

MySQL es uno de los sistemas de gestión de bases de datos relacionales más populares, y en aplicaciones WEB, es uno de los mejores software RDBMS (Relational Database Management System: sistema de gestión de bases de datos relacional) disponibles.

Para instalar el paquete de extensión para lectura/escritura de archivos MySQL en R, podemos ingresar el siguiente comando en la consola de R:

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

Verificar si se instaló con éxito:

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

MySQL ahora es propiedad de Oracle, por lo que muchas personas usamos su versión de copia MariaDB, MariaDB es open source bajo GNU GPL, y el desarrollo de MariaDB es liderado por algunos desarrolladores originarios de MySQL, por lo que las operaciones sintácticas son muy similares:

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

在 test 数据库中创建数据表 w3codebox,表结构及数据代码如下:

--
-- 表的结构 `w3codebox`
--
 
CREATE TABLE `w3codebox(
  id int(11NO NULL
  name char(20) NO NULL
  url varchar(255NO NULL
  `likes` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
--
-- Copiar los datos de la tabla `w3codebox`
--
 
INSERT INTO `w3codebox` (`id`, `name`, `url`, `likes`) VALUES
(1, 'Google', 'www.google.com', 111),
(2, 'w3codebox', 'es.oldtoolbag.com', 222),
(3, 'Taobao', 'www.taobao.com', 333);

# A continuación, podemos usar el paquete RMySQL para leer los datos:

library(RMySQL)
# dbname es el nombre de la base de datos, los parámetros aquí deben ajustarse según su propia situación
mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'test', host = 'localhost')
# Ver los datos
dbListTables(mysqlconnection)

A continuación, podemos usar dbSendQuery para leer la tabla de la base de datos, el conjunto de resultados se obtiene mediante la función fetch():

library(RMySQL)
# Consultar la tabla sites, las operaciones de inserción, actualización y eliminación pueden realizarse mediante la sentencia SQL del segundo parámetro
result = dbSendQuery(mysqlconnection, "select * from sites")
# Obtener las dos primeras filas de datos
data.frame = fetch(result, n = 2)
print(data.fame)