반응형

파이썬, 오라클 Insert, Update, Delete, Select 쿼리 (cx_Oracle)  

글 수알치 오상문 


import cx_Oracle 
from datetime import datetime

# 오라클 DB 연결
#-------------------------------
connStr = 'user/pass@localhost:1521/mypdb'
conn = cx_Oracle.connect(connStr)
cur = conn.cursor() 
#--------------------------------

# Insert 예 1
sql = 'insert into "test".logtable (name, date) values (\'수알치\', to_date(\'01-01-2021\', \'DD-MM-YYYY\'))'
cur.execute(sql)
conn.commit()

# Insert 예 2
sql =  'insert into "test".logtable (name, date) values (:1, :2, :3)'
cur.execute(sql, '홍길순', datetime(2021, 1, 1))
conn.commit()

# Insert 예 3 (여러 줄을 한번에 삽입)
data_list = [( '홍길동', datetime(2021, 1, 1) ),( '김철수', datetime(2021, 1, 1) )]
sql =  'insert into "test".logtable (name, date) values (:1, :2, :3)'
cur.executemany(sql, data_list)
conn.commit()

# Update 예
sql = 'update "test".logtable set name=:1 where name=:2'
cur.execute(sql, ('수알치', '수리부엉이'))
conn.commit()

# Select 예
sql = 'select * from "test".logtable order by name'
cur.execute(sql)
records = cur.feachall()
print(records)

# Delete 예
sql = 'delete from "test".logtable where name=:1'
cur.execute(sql, ('수리부엉이'))
conn.commit()

#-------------------------------
# 오라클 DB 연결 해제 
cur.close()    # 커서 객체 닫음 (메모리 누수 방지)
conn.close()  # 디비 연결 해제
#--------------------------------

 

반응형

+ Recent posts