💻Programming/Python

[Python/파이썬] DB연결, CRUD(Create, Read, Update, Delete)

horang_dev 2021. 3. 17.

Python과 Oracle DB연결, CRUD

-- Oracle에 sample테이블 생성
  CREATE TABLE "PYTHON"."SAMPLE" 
   (
    "COL01" VARCHAR2(20 BYTE) NOT NULL ENABLE, 
    "COL02" VARCHAR2(20 BYTE), 
    "COL03" VARCHAR2(20 BYTE)
   )

 

 -- SELECT -- 

#Oracle DB와 연결하기 위한 모듈 설치
import cx_Oracle

#Oracle DB의 python과 연결
conn = cx_Oracle.connect('python/python@localhost:1521/xe')

#다음 줄로 이동 (데이터 유무 확인)
cs = conn.cursor()

#select문 실행 후 데이터 가져오기
rs = cs.execute("select col01,col02,col03 from sample")

#가져온 데이터 출력
for record in rs:
    print(record[0])
    # record[0] : col01
    # record[1] : col02
    # record[2] : col03
    
# cursor 닫기
cs.close()
# 연결 끊기
conn.close()

 -- INSERT -- 

#Oracle DB와 연결하기 위한 모듈 설치
import cx_Oracle

#Oracle DB의 python과 연결
conn = cx_Oracle.connect('python/python@localhost:1521/xe')
#다음 줄로 이동 (데이터 유무 확인)
cs = conn.cursor()

sql = "insert into sample (col01,col02,col03) values (:1,:2,:3)"
#update문 실행
cs.execute(sql,('3','3','3'))

#insert된 행의 수 출력
print(cs.rowcount)

# cursor 닫기
cs.close()
# commit
conn.commit()
# 연결 끊기
conn.close()

 -- UPDATE -- 

#Oracle DB와 연결하기 위한 모듈 설치
import cx_Oracle

#Oracle DB의 python과 연결
conn = cx_Oracle.connect('python/python@localhost:1521/xe')
#다음 줄로 이동 (데이터 유무 확인)
cs = conn.cursor()

sql = "insert into sample (col01,col02,col03) values (:1,:2,:3)"
#insert문 실행
cs.execute(sql,('3','3','1'))

#insert된 행의 수 출력
print(cs.rowcount)

# cursor 닫기
cs.close()
# commit
conn.commit()
# 연결 끊기
conn.close()

 -- DELETE -- 

#Oracle DB와 연결하기 위한 모듈 설치
import cx_Oracle

#Oracle DB의 python과 연결
conn = cx_Oracle.connect('python/python@localhost:1521/xe')

#다음 줄로 이동 (데이터 유무 확인)
cs = conn.cursor()

sql = "delete from sample where col01=:1"
#delete문 실행
cs.execute(sql,('1'))
#delete된 행의 수 출력
print(cs.rowcount)

# cursor 닫기
cs.close()
# commit
conn.commit()
# 연결 끊기
conn.close()

 

반응형

댓글