R语言 如何把整个数据帧写入MySQL表中

R语言 如何把整个数据帧写入MySQL表中

在这篇文章中,我们将学习如何在R编程语言中把整个数据框写进MySQL表。

为了完成这项任务,我们需要一些基本的要求,这些要求列举如下。

  • 安装MySQL
  • 安装R工作室
  • 具有SQL查询的基本知识。

使用SQL查询创建一个数据库 “gfg_database”,并在这个数据库中创建一个有两列 “主题 “和 “分数 “的样本表,我们将在其中使用R编程语言存储数据。

如何在R中把整个数据帧写入MySQL表中

代码中使用的表

如何在R中把整个数据帧写入MySQL表中

表的结构

什么是RMySQL

为了在R环境中处理MySQL表,应该在环境中安装RMySQL包。该包作为R语言的数据库接口和MySQL驱动,下面的命令用于在R语言中安装RMySQL包。

install.packages("RMySQL")

dbConnect()方法

可以从Rstudio中建立一个本地连接到MYSQL服务器。在启动脚本之前,服务器应该被启动。dbConnect()方法用于在继续进行的R会话和MySQL数据库之间建立一个连接。它需要参数,如主机名、密码等来建立连接。

语法: dbConnect(drv, …)

参数 :

  • drv – 现有的DBI连接对象(例如 dbConnect(RMySQL::MySQL()) )
  • ... – 这些包括’user’, ‘password’, ‘dbname’, ‘host’, ‘port’,等等。

创建数据框架

可以使用 data.frame() 方法创建一个数据框架,在该方法中我们指定我们希望写入MySQL表的表的内容。 然后通过使用我们希望放入数据的表名来生成SQL查询。数据框的值被用作放入MySQL表的值。

发送数据到MySQL表

一个带有动态数据的SQL查询是由 paste0() 方法创建的,它从列中获取字符串值并将其输入到数据框中。然后使用 dbSendquery() 方法将该查询发送到数据库中。

最后的方法dbSendQuery()方法然后被用来在R环境中执行MySQL查询。这个方法负责在数据库引擎上调用指定的SQL查询。

dbSendQuery(connection , sql-query)

在下面的代码片段中,首先使用 dbConnect() 方法建立一个连接,该方法分别接受用户名和密码作为输入。然后使用 data.frame() 方法创建一个包含数值的假数据框,该数据框有两列,分别是主题和分数。

# installing the required libraries
library("RMySQL")
# setting up a db connection 
connection <- dbConnect(MySQL(), user = 'root',
        password = '12345', host = 'localhost',
                        dbname = 'gfg_database')
  
# creating a data frame
data_frame <- data.frame(subject = c("Maths",
            "Science","CS"), marks = c(22,38,76))
  
# creating the query
query <- "insert into sample_table(subject,marks) VALUES"
  
# inserting values in sql query
query <- paste0(query, paste(sprintf("('%s', '%s')",
   data_framesubject, data_framemarks), collapse = ","))
  
# sending the query to database
dbSendQuery(connection,query)

输出: 执行上述代码后,如果我们使用SQL查询显示该表的数据,我们将得到以下输出。

如何在R中把整个数据帧写入MySQL表中

在上面的代码中,首先安装 “RMySQL “包,然后在 “R “和 “MySQL “之间建立一个连接,之后创建一个数据框架,我们将用它来存储MySQL表中的数据。在MySQL中,数据是使用SQL查询来插入的,所以创建一个查询,并使用paste0()方法处理数据,最后使用dbSendQuery()方法将数据发送到MySQL数据库表中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程