R语言 如何写SQL查询

R语言 如何写SQL查询

在这篇文章中,我们将学习如何在 R编程语言 中编写SQL查询 。

什么是SQL查询

SQL是结构化查询语言的缩写。SQL查询用于与数据库进行交互。使用SQL查询,我们可以访问和操作存储在数据库中的数据。在SQL查询的帮助下,我们可以在数据库中创建、读取、更新和删除数据,并在数据库中执行更多的操作。

sqldf包

我们将使用sqldf包在R中运行SQL查询。Sqldf是一个方便的R工具,允许在R数据框架上执行SQL操作。MySQLPostgreSQL、H2和SQLite等数据库都可以用sqldf来使用。我们可以使用sqldf包在R中运行SQL查询。

注意: 如果我们对SQL命令有很好的理解,在R中使用SQL会变得非常容易。点击 这里 来学习SQL的基础知识。

安装和导入sqldf包

在R中运行下面的命令来安装sqldf包。

# installing sqldf package
install.packages("sqldf")

现在,在安装了sqldf包之后,我们必须导入它以使用其功能。

为了导入sqldf包,在R中运行下面的命令。

# Importing sqldf
library(sqldf)

使用sqldf执行基本的SQL操作

我们将使用IRIS数据集,其中有10个条目,我们将使用SQL查询对其进行各种操作。

使用SQL查询读取数据

例1 :

在这里,我们将使用SQL选择命令来查看数据框的数据。首先,我们导入sqldf库,然后读取CSV文件,并将其作为一个数据框架存储到一个变量 “df”。之后,我们使用select命令来显示数据。

# Importing sqldf library
library(sqldf)
# Reading CSV file
df <- read.csv("iris.csv")
# Reading data from data frame
# using SQL select query
sqldf("select * from df")

输出

如何在R语言中写SQL查询?

例2 :

在这个例子中,我们将通过使用SQL查询选择一个特定的列,从数据框架中读取一个特定的列

# Importing sqldf library
library(sqldf)
# Reading CSV file
df <- read.csv("iris.csv")
# Selecting columns from data frame
sqldf("select [sepal_length],
[sepal_width], [species] from df")

输出

如何在R语言中写SQL查询?

上述代码的输出显示了三列数据,即萼片长度、萼片宽度和物种,因为我们在SQL查询中只选择这三列。

使用SQL查询对数据进行排序

在这段代码中,我们在SQL选择语句中使用了order by子句,因此我们的数据是通过对 “sepal_length “列的数据进行排序来显示的,正如输出中看到的那样。

# Importing sqldf library
library(sqldf)
# Reading CSV file
df <- read.csv("iris.csv")
# Reading data from data frame
# by applying sorting on a column
sqldf("select * from df order by sepal_length")

输出

如何在R语言中写SQL查询?

注意: 默认的排序顺序是升序,要以降序排序,我们可以在语句末尾使用desc关键字。

使用SQL查询最大和最小值

在这里,我们将在使用sqldf的选择命令中使用min()和max()函数来获得数据框架中的列的最小和最大值。

# Importing sqldf library
library(sqldf)
# Reading CSV file
df <- read.csv("iris.csv")
# Applying min() and max() functions
# to get minimum and maximum value.
sqldf("select max(sepal_length) from df")
sqldf("select min(sepal_length) from df")

输出

如何在R语言中写SQL查询?

注意: 与上面提到的函数类似,我们也可以对数据集的特定数据值进行任何操作。

使用SQL查询删除数据

在这里,我们将使用R中的SQL查询的删除命令来删除数据框中的行。正如我们在输出中看到的,”Iris-virginica “的所有记录都从数据框中删除了。

# Importing sqldf library
library(sqldf)
# Reading CSV file
df<-read.csv("iris.csv")
# Deleting rows where
# species is Iris-virginica
df<-sqldf(c("delete from df where 
        species='Iris-virginica'",
              "select * from df"))
print("After delete rows")
# Displaying data frame
sqldf("select * from df")

输出

如何在R语言中写SQL查询?

使用SQL查询更新数据

在这里,我们将使用R中SQL查询的更新命令来更新数据框中的记录。我们可以看到在输出中,所有 “Iris-versicolor “的物种名称都变成了 “versicolor”。

# Importing sqldf library
library(sqldf)
# Reading CSV file
df<-read.csv("iris.csv")
# Update species name from
# Iris-versicolor to versicolor
print("Before update")
sqldf("select * from df")
# Updating values
df <- sqldf(c("update df set species='versicolor'
            where species='Iris-versicolor'",
            "select * from df"))
print("After update")
sqldf("select * from df")

输出

如何在R语言中写SQL查询?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程