59doit
[ SQL ] Oracle connect DB #1 _ R 이용 본문
반응형
R version 3.6.3
1. C:드라이브에 OracleTest 폴더 생성
2. OracleTest폴더에 driver ojdbc6 저장
ojdbc6 위치 : # C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
3. SQL developer에서 scott계정으로 table 생성
ID : sys / PW : 1234
ID : scott / PW : tiger
create table test_table( id varchar(50) primary key, pass varchar(30) not null, name varchar(25) not null, age number(2) ); insert into test_table values('hong', '1234', '홍길동', 35); insert into test_table values('kim', '5678', '김길동', 45); select * from test_table; commit; |
▶ R : package 설치 및 실행
install.packages("rJava") install.packages("DBI") install.packages("RJDBC") Sys.setenv(JAVA_HOME="C://Program Files//Java//jdk1.8.0_202") library(DBI) library(rJava) library(RJDBC) |
▶ R : Drive 설정
drv <- JDBC("oracle.jdbc.driver.OracleDriver","C:/OracleTest/ojdbc6.jar") |
▶ R : 데이터베이스 연결
conn <- dbConnect(drv,"jdbc:oracle:thin:@//127.0.0.1:1521/xe","scott","tiger") |
ex) DB 레코드 검색, 추가, 수정, 삭제하기
#1 record
query="SELECT*FROM test_table" dbGetQuery(conn,query) # ID PASS NAME AGE # 1 hong 1234 홍길동 35 # 2 kim 5678 김길동 45 |
#2 나이 기준으로 내림차순 정렬
query="SELECT*FROM test_table order by age desc" dbGetQuery(conn,query) # ID PASS NAME AGE # 1 kim 5678 김길동 45 # 2 hong 1234 홍길동 35 |
#3 insert record
query="insert into test_table values('kang','1234','강감찬',45)" dbSendUpdate(conn, query) |
#4 inser record 확인
query = "SELECT*FROM test_table" dbGetQuery(conn,query) # ID PASS NAME AGE # 1 hong 1234 홍길동 35 # 2 kim 5678 김길동 45 # 3 kang 1234 강감찬 45 |
#5 나이가 40세 이상인 record
query="select*from test_table where age >=40" result <- dbGetQuery(conn,query) result # ID PASS NAME AGE # 1 kim 5678 김길동 45 # 2 kang 1234 강감찬 45 |
#6 name이 '강감찬'인 데이터의 age를 40으로 수정
query = "update test_table set age = 40 where name = '강감찬'" dbSendUpdate(conn,query) |
#7 수정된 레코드 조회
query = "select*from test_table where name ='강감찬'" dbGetQuery(conn,query) # ID PASS NAME AGE # 1 kang 1234 강감찬 40 |
#8 name이 '홍길동'인 레코드 삭제
query="delete from test_table where name = '홍길동'" dbSendUpdate(conn,query) |
#9 전체 레코드 조회
query="select*from test_table" dbGetQuery(conn,query) # ID PASS NAME AGE # 1 kim 5678 김길동 45 # 2 kang 1234 강감찬 40 |
반응형
'Programming > SQL 기초' 카테고리의 다른 글
[ SQL ] 데이터베이스 #2 JDK 설치 (0) | 2022.12.07 |
---|---|
[ SQL ] 데이터베이스 #1 (1) | 2022.12.06 |
[ SQL ] Oracle connect DB #1 _ Python 이용 (0) | 2022.12.06 |
Live SQL - Code Library (0) | 2022.10.20 |
SQL 참고 사이트 (0) | 2022.10.14 |
Comments