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

R MySQL 연결

MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리 시스템 중 하나로, WEB 응용 프로그램에서 MySQL은 최고의 RDBMS(Relational Database Management System: 관계형 데이터베이스 관리 시스템) 응용 프로그램 중 하나입니다.

R 언어로 MySQL 파일을 읽고 쓰기 위해 확장 패키지를 설치해야 합니다. 우리는 R에서 컨트롤 콘솔에 다음 명령어를 입력하여 설치할 수 있습니다:

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

설치가 성공했는지 확인하세요:

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

MySQL 현재 오라클에 인수된 상태이기 때문에 많은 사람들이 그 복제 버전인 MariaDB를 사용합니다. MariaDB는 GNU GPL 하에서 오픈 소스로 제공되며, MariaDB의 개발은 MySQL의 일부 원래 개발자들이 이끌고 있습니다. 따라서 문법과 작업은 비슷합니다:

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

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

--
-- 表的结构 `w3codebox`
--
 
CREATE TABLE `w3codebox(
  id int(11NOT NULL
  name char(20) NOT NULL
  url varchar(255NOT 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', 'ko.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)