반응형
파이썬 - 오라클 데이터베이스 연결 및 사용방법
목차
- cx_Oracle 라이브러리 설치
- 데이터베이스 연결 및 종료 방법
- 데이터베이스 사용하기 (cursor, execute, fetch)
- 데이터베이스 사용예제 (select, insert, update, delete)
1. cx_Oracle 라이브러리 설치
파이썬에서 오라클 데이터베이스에 연결하여 사용하기 위해 콘솔창에서 아래와 cx_Oracle 라이브러리를 설치합니다.
- 방법1) pip install cx_oracle
- 방법2) conda install cx_oracle // 아나콘다 사용자
2. 데이터베이스 연결 및 종료 방법
1) 연결
import cx_Oracle
dsn = cx_Oracle.makedsn('localhost', '1521', 'xe')
conn = cx_Oracle.connect('아이디', '비밀번호', dsn)
또는
import cx_Oracle
conn = cx_Oracle.connect('아이디/비밀번호@localhost:1521/xe')
2) 종료
conn.close()
데이터베이스 사용후에는 반드시 종료하도록 합니다.
3. 데이터베이스 사용하기 (cursor, execute, fetch)
1) cursor / execute / fetch
- cursor : sql 문법의 결과를 가리키는 포인터로 SQL문장의 처리 결과에 접근 할 수 있습니다.
- execute : cursor에 sql문을 실행시키는 메소드입니다.
- fetch : cursor에 저장된 sql문 실행결과를 가져올때 사용합니다.
cursor = conn.cursor()
cursor.execute("select * from emp")
data = cursor.fetchall()
print(data)
2) fetch 종류
- cursor.fetchall() : 모든 데이터를 한번에 가져옵니다.
- cursor.fetchman(숫자) : 지정된 숫자만큼만 가져옵니다.
- cursor.fetchone() : 하나의 데이터만 가져옵니다.
4. 데이터베이스 사용예제 (select, insert, update, delete)
1) select (조회)
import cx_Oracle
dsn = cx_Oracle.makedsn('localhost', '1521', 'xe')
conn = cx_Oracle.connect('test', '1234', dsn)
cursor = conn.cursor()
sql='''select * from usertable'''
cursor.execute(sql)
data = cursor.fetchone()
conn.close()
print(data)
####### [실행결과] #######
(1, 'kim', 'teacher', None, None, None, None, None)
2) insert (삽입)
import cx_Oracle
dsn = cx_Oracle.makedsn('localhost', '1521', 'xe')
conn = cx_Oracle.connect('test', '1234', dsn)
cursor = conn.cursor()
sql='''insert into emp values(:1, :2, :3, :4, :5, :6, :7, :8)'''
cursor.execute(sql, [2, 'yoon', None, None, None, None, None, None])
conn.commit()
conn.close()
cf) insert에서 sql문을 아래와 같은 방식으로 사용해도 됩니다.
sql='''insert into emp(empno, ename) values(:empno, :ename)'''
cursor.execute(sql, {'empno':2, 'ename':'yoon'})
3) update (수정)
import cx_Oracle
dsn = cx_Oracle.makedsn('localhost', '1521', 'xe')
conn = cx_Oracle.connect('test', '1234', dsn)
cursor = conn.cursor()
sql='''update emp set job=:1 where empno=5'''
cursor.execute(sql, ['student'])
conn.commit()
conn.close()
cf) updatet에서 sql문을 아래와 같은 방식으로 사용해도 됩니다.
sql='''update emp set job=:job where empno=5'''
cursor.execute(sql, {'job':'student'})
4) delete (삭제)
import cx_Oracle
dsn = cx_Oracle.makedsn('localhost', '1521', 'xe')
conn = cx_Oracle.connect('scott', 'tiger', dsn)
cursor = conn.cursor()
sql='''delete from usertable where id=100'''
cursor.execute(sql)
conn.commit()
conn.close()
반응형
'IT 개발 > Python' 카테고리의 다른 글
[파이썬] 웹 크롤링 개념 및 웹 데이터 수집 방법 (0) | 2024.01.11 |
---|---|
[파이썬] 정규표현식 개념 및 사용방법 (0) | 2023.12.15 |
[파이썬] 파일 입출력 사용방법 (파일 읽기/쓰기) (0) | 2023.12.11 |
[파이썬] 클래스 상속 개념 및 사용예제 (0) | 2023.12.07 |
[파이썬] 클래스(class) 사용방법 및 예제 (0) | 2023.12.07 |