Search

2016년 8월 15일 월요일

[R] [MySQL] RMySQL로 MariaDB(or MySQL)에 Select, Insert하기.

R에서 MariaDB(or MySQL)에 연결하여 데이터를 select하고 insert해보자.
단계 1. [R] [MySQL] R에서 MariaDB(or MySQL) 연결하기. (RMySQL)
> 단계 2. [R] [MySQL] RMySQL로 MariaDB(or MySQL)에 Select, Insert하기.
-----------------------------

#1. RMySQL - Select

  RMySQL을 사용하기 전에, MariaDB에 다음과 같은 가데이터를 하나 준비하겠습니다.

- User ID : martin
- Password : alsrb
- DB name : test
- Table name : test_rmysql




  R과 MariaDB가 모두 로컬에서 실행되고 있고, test라는 데이터베이스에 martin이라는 사용자가 접근권한을 가지고 있다고 가정할 때,
  MariaDB의 test라는 데이터베이스의 test_rmysql이라는 테이블의 내용을 쿼리를 이용하여 R의 데이터프레임 test.table로 저장하기 위해서는 아래와 같은 명령어를 사용합니다.

# RMySQL Package 사용
library(RMySQL)

# MySQL에 연결 / MySQL이 다른 호스트에서 실행되고 있을 경우에는
# dbDriver("MySQL") 뒤에 host = "dbserver.domain"를 추가
con <- code="" con="" db="" dbconnect="" dbdriver="" dbgetquery="" dblisttables="" dbmsencoding="UTF-8" dbname="test" from="" host="127.0.0.1" mysql="" password="alsrb" r="" test.table="" test_rmysql="" user="martin" ysql="">
결과를 확인해보면...???!!! 글이 깨져있다..!









이런 상황이 발생할 경우, 아래와 같이 인코딩을 변경해주자.

# Encoding을 UTF-8로 변경
Encoding(test.table[,2]) <- code="" test.table="">






#2. RMySQL - Insert

  이번에는 R에서 작성한 테이블을 MySQL의 테이블로 저장해보겠습니다. 먼저, R에서 가데이터를 하나 준비합니다.

newTable <- 12="" 156="" 165="" 166="" 174="" 179="" 180="" 182="" 184="" 18="" 191="" 19="" 22="" 23="" 24="" 34="" 41="" 43="" age="c(32," code="" data.frame="" height="c(177," newtable="" sex="c(">
















  R과 MariaDB가 모두 로컬에서 실행되고 있고, test라는 데이터베이스에 martin이라는 사용자가 접근권한을 가지고 있다고 가정할 때,
  R의 newTable이라는 데이터프레임을 MariaDB의 test라는 데이터베이스의 안의 test_rmysql2라는 테이블에 저장하기 위해서는 아래와 같은 명령어를 사용합니다.

# overwrite를 켠 경우
dbWriteTable(con, "test_rmysql2", newTable, overwrite=TRUE)

# append를 켠 경우
dbWriteTable(con, "test_rmysql2", newTable, append=TRUE)


결과를 확인해보면.. 아래와 같이 정상적으로 test_rmysql2 테이블에 데이터가 들어간 것을 확인해볼 수 있다.























* Windows에서 인코딩 문제는 아직 해결중...


-----------------------------
R에서 MariaDB(or MySQL)에 연결하여 데이터를 select하고 insert해보자.
단계 1. [R] [MySQL] R에서 MariaDB(or MySQL) 연결하기. (RMySQL)
> 단계 2. [R] [MySQL] RMySQL로 MariaDB(or MySQL)에 Select, Insert하기.


댓글 없음:

댓글 쓰기