행위

R MYSQL 연결

DB CAFE

Dbcafe (토론 | 기여)님의 2020년 12월 20일 (일) 21:46 판 (MYSQL + Dataframe 연결)
thumb_up 추천메뉴 바로가기


1 MYSQL + Dataframe 연결[편집]

1.1 Mysql 패키지 설치[편집]

install.packages("RMySQL")
library(RMySQL)


1.2 Mysql 연결[편집]

drv = dbDriver("MySQL")
db_conn = dbConnect(drv,host="호스트",dbname="디비명",user="사용자",pass="패스워드")

1.3 테이블 목록[편집]

dbListTables(db_conn)

1.4 컬럼 목록[편집]

dbListFields(db_conn, '테이블명')

1.5 SELECT 쿼리 실행[편집]

dbSendQuery(db_conn, 'SELECT * FROM TB_XXX')

1.6 Dataframe -> INSERT 쿼리 실행[편집]

dbWriteTable(db_conn, name='table_name', value=data.frame.name)

1.7 MYSQL 사용 예제[편집]

## S4 method for signature 'MySQLConnection,character,data.frame'
dbWriteTable(
  db_conn,
  tablename,
  dataFrame.value,
  field.types = NULL,
  row.names = TRUE,
  overwrite = FALSE,
  append = FALSE,
  ...,
  allow.keywords = FALSE
)

## S4 method for signature 'MySQLConnection,character,character'
dbWriteTable(
  db_conn,
  tablename,
  dataFrame.value,
  field.types = NULL,
  overwrite = FALSE,
  append = FALSE,
  header = TRUE,
  row.names = FALSE,
  nrows = 50,
  sep = ",",
  eol = "\n",
  skip = 0,
  quote = "\"",
  ...
)

1.7.1 Arguments[편집]

db_conn a MySQLConnection object, produced by dbConnect

tablename a character string specifying a table name.

dataFrame.value a data.frame (or coercible to data.frame) object or a file name (character). In the first case, the data.frame is written to a temporary file and then imported to SQLite; when value is a character, it is interpreted as a file name and its contents imported to SQLite.

field.types character vector of named SQL field types where the names are the names of new table's columns. If missing, types inferred with dbDataType).

row.names A logical specifying whether the row.names should be output to the output DBMS table; if TRUE, an extra field whose name will be whatever the R identifier "row.names" maps to the DBMS (see make.db.names). If NA will add rows names if they are characters, otherwise will ignore.

overwrite a logical specifying whether to overwrite an existing table or not. Its default is FALSE. (See the BUGS section below)

append a logical specifying whether to append to an existing table in the DBMS. Its default is FALSE.

... Unused, needs for compatibility with generic.

allow.keywords logical indicating whether column names that happen to be MySQL keywords be used as column names in the resulting relation (table) being written. Defaults to FALSE, forcing mysqlWriteTable to modify column names to make them legal MySQL identifiers.

header logical, does the input file have a header line? Default is the same heuristic used by read.table, i.e., TRUE if the first line has one fewer column that the second line.

nrows number of lines to rows to import using read.table from the input file to create the proper table definition. Default is 50.

sep field separator character

eol End-of-line separator

skip number of lines to skip before reading data in the input file.

quote the quote character used in the input file (defaults to \".)