프로그래밍/Python

Python-11) Python - Oracle 연동하기 , python sql, 파이썬 sql

LeeSeunghyuk 2020. 11. 25. 17:11
반응형

안녕하세요 이승혁입니다.

 

이번시간에는 오라클 데이터베이스에서 사용하던 테이블을 파이썬으로 연동하여

사용하는 실습을 진행해 보겠습니다.

 

※ 오라클 연동하기 위한 모듈 설치

 

1. 검색창에 Anaconda Prompt 검색하여 실행

 

2. 가상환경 활성화 ( activate tistory )

 

3. 모듈 설치 ( pip install cx_Oracle )

     - cx_Oracle : 파이썬을 사용해 오라클 DB에 접근할 수 있게 해주는 모듈입니다.

4. Jupyter notebook(tistory) 실행


※ 데이터 프레임으로 확인하기 위한 모듈 설치

 

1. 검색창에 Anaconda Prompt 검색하여 실행

 

2. 가상환경 활성화 ( activate tistory )

 

3. 모듈 설치 ( pip install pandas )

    - pandas : 데이터를 수집, 정리하는데 최적화된 라이브러리입니다.

                  시리즈 & 데이터프레임 이라는 구조화된 데이터 형식을 제공합니다.

4. Jupyter notebook(tistory) 실행

 


 

- 오라클 주소 정보 확인하기

 

1. 실행 창(검색창에 cmd) 켠 후 lsnrctl status 명령어를 통해 확인한다.

2. sqldeveloper의 db 우클릭 -> 속성

 

ip 주소 : localhost

port 번호 : 1521

서비스 이름 : orcl   ====> cx_Oracle.makedsn('localhost',1521,'orcl')


위 과정을 끝낸 후 다음 코드를 사용해 DB에 존재하던 데이터를 이용합니다.

# 오라클 연동 및 접속
import cx_Oracle
dsn=cx_Oracle.makedsn('localhost',1521,'orcl')
db=cx_Oracle.connect('scott','tiger')

cursor=db.cursor()
cursor.execute("""select * from emp""")

row=cursor.fetchall()
colname=cursor.description
col=[]

for i in colname:
    col.append(i[0])

# pandas를 사용한 데이터 프레임 형식으로 변환
emp=pd.DataFrame(row,columns=col)
print(emp)

cx_Oracle.makedsn : 오라클에 대한 주소 정보

cx_Oracle.connect : 오라클 접속 유저 정보

db.cursor : 데이터 담을 메모리의 이름을 선언

cursor.execute : SQL의 결과가 cursor 메모리를 담는다.

cursor.fetchall : 메모리에 담긴 데이터를 한 행씩 fetch 한다. 전부 all.

cursor.description : 데이터의 칼럼명을 추출합니다.


※ 판다스 데이터 프레임을 사용하지 않으면 ?

 

판다스 데이터 프레임의 형식이 아닌, fetch 후 데이터를 확인해봅니다.

데이터 프레임의 형태로 만들어 확인하는 것이 직관적이고 편한 것을 확인할 수 있습니다.

 

앞으로 판다스 데이터 프레임을 다루는 내용을 조금씩 필요할 때 마다 추가해서

실습을 진행하도록 하겠습니다.

 

감사합니다.

 

 

반응형