1) Anaconda Prompt창을 관리자 권한으로 실행
2) cx_Oracle 라이브러리를 설치
python -m pip install cx_Oracle --upgrade 입력
3) Oracle Instant Client Downloads에서 다운로드
Oracle Instant Client Downloads
4)사양에 맞춰서 다운로드 후 원하는 위치에 압축해제
5) 접속할 Oracle DB 정보 확인하고 연결하기
확인할 정보 : 사용자이름 비밀번호 호스트이름:포트/서비스이름
import cx_Oracle
conn = cx_Oracle.connect('python/python@localhost:1521/xe')
#JDBC statement 느낌 한방에 데이터 넘김 자바는 하나하나 넘겨줬었음
cs = conn.cursor()
rs = cs.execute("select * from emp")
lst = list(rs)
print(lst)
for r in rs:
print(r)
cs.close()
conn.close()
#--방법1--------------------------------------------------------------
# import cx_Oracle
# connStr = 'python/python@localhost:1521/xe'
# conn = cx_Oracle.connect(connStr)
# cur = conn.cursor()
#
# sql = 'insert into emp(e_id, e_name, sex, addr) values (e_seq.nextval,4,4,4)'
# cur.execute(sql)
# conn.commit()
#--방법2--------------------------------------------------------------
# import cx_Oracle
#
# conn = cx_Oracle.connect('python/python@localhost:1521/xe')
# cs = conn.cursor()
# sql = "insert into emp(e_id, e_name, sex, addr) values (e_seq.nextval,5,5,5)"
# cs.execute(sql)
# print(cs.rowcount)
#
# cs.close()
# conn.commit()
# conn.close()
#--방법3--------------------------------------------------------------
import cx_Oracle
conn = cx_Oracle.connect('python/python@localhost:1521/xe')
cs = conn.cursor()
sql = """
insert into emp
(e_id, e_name, sex, addr)
values
(e_seq.nextval,:1,:2,:3)
"""
cs.execute(sql,('4','4','4'))
print(cs.rowcount)
conn.commit()
cs.close()
conn.close()
#--방법1--------------------------------------------------------------
# import cx_Oracle
#
# conn = cx_Oracle.connect('python/python@localhost:1521/xe')
# cs = conn.cursor()
# sql = "update emp set e_name =:1, sex =:2, addr =:3 where e_id =7"
# cs.execute(sql,('7','7','7'))
#
# # cs.rowcount : java에서의 cnt
# print(cs.rowcount)
#
# # 오라클 DB 연결 해제
# #-------------------------------
# # cursor 닫기
# cs.close()
# # commit
# conn.commit()
# # 연결 끊기
# conn.close()
# #--------------------------------
#--방법2--------------------------------------------------------------
# import cx_Oracle
#
# conn = cx_Oracle.connect('python/python@localhost:1521/xe')
# cs = conn.cursor()
# sql = """
# update emp
# set
# e_name =:1,
# sex =:2,
# addr =:3
# where
# e_id =:4
# """
# cs.execute(sql,('5','5','5','9'))
# print(cs.rowcount)
# conn.commit()
#
# cs.close()
# conn.close()
#
#--방법3--------------------------------------------------------------
import cx_Oracle
e_id = '9'
e_name = '6'
sex = '6'
addr = '6'
conn = cx_Oracle.connect('python/python@localhost:1521/xe')
cs = conn.cursor()
# 인공지능 하는 사람들의 주무기가 파이썬
# 인공지능쪽은 박사가 많음...
# 삽질이 아닌 알고리즘이 주무기! 현업가면 2.0도 많이 씀...!
sql = f"""
update emp
set
e_name ='{e_name}',
sex ='{sex}',
addr ='{addr}'
where
e_id ='{e_id}'
"""
cs.execute(sql)
print(cs.rowcount)
conn.commit()
cs.close()
conn.close()
#--방법1--------------------------------------------------------------
# #Oracle DB와 연결하기 위한 모듈 설치
# import cx_Oracle
#
# #Oracle DB의 python과 연결
# conn = cx_Oracle.connect('python/python@localhost:1521/xe')
#
# #다음 줄로 이동 (데이터 유무 확인)
# cs = conn.cursor()
#
# sql = "delete from emp where e_id=:1"
# #delete문 실행
# cs.execute(sql,('8'))
# #delete된 행의 수 출력
# print(cs.rowcount)
#
# # cursor 닫기
# cs.close()
# # commit
# conn.commit()
# # 연결 끊기
# conn.close()
#--방법2--------------------------------------------------------------
import cx_Oracle
e_id = '9'
conn = cx_Oracle.connect('python/python@localhost:1521/xe')
cs = conn.cursor()
sql = f"""
delete from emp
where
e_id='{e_id}'
"""
cs.execute(sql)
print(cs.rowcount)
conn.commit()
cs.close()
conn.close()