3.1 连接MySQL
3.1.1 R
library(DBI)
library(RMySQL)
con <- dbConnect(
RMySQL::MySQL(),
dbname = "data_1", # 数据库名称(Navicat中的数据库名)
host = "localhost", # 服务器地址(本地为localhost,远程为IP)
port = 3306, # 端口号(默认3306)
user = "root", # 用户名(Navicat连接使用的)
password = "password" # 密码
)
dbListTables(con) # 查看所有表
df <- dbReadTable(con, "table1")
用dbReadTable()
读取整个表,并存储为data frame
格式的数据框,后续可用dplyr
进行数据清洗。
当然,可以直接使用dbGetQuery()
进行SQL查询,第一个参数是连接名称,第二个参数就是SQL语句。
亦或者,用dplyr
语法代替SQL语句进行查询。
df <- tbl(con, 'table1') # 懒加载,构建连接,数据还未导入R中
result_df <- df %>%
filter(price > 100) %>% # dplyr语法筛选数据
collect() # 将数据库中的数据导入到R中
这样导出的数据就是
tibble
格式的数据框,注意别忘了collect()