파이썬, 오라클 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() # 디비 연결 해제
#--------------------------------
'DBMS, 데이터베이스' 카테고리의 다른 글
Docker 설치하고 MariaDB 실행하기 (0) | 2022.04.24 |
---|---|
postgres 다운로드 페이지 (0) | 2022.02.14 |
파이썬, cx_Oracle, ORA-12514 : TNS:listener does not currently know of service requested in connect descriptor 오류 (0) | 2022.01.12 |
Python cx_Oracle.connect() 예제 (0) | 2022.01.12 |
오라클 비동기 지원, asynchronous wrapper, cx_Oracle_async (0) | 2022.01.06 |