본문 바로가기

Python

[Python] DB에 Insert하기

Python에서 Oracle DB에 iNSERT하는 방법을 알아보겠습니다.

 

con = connect("아이디/비번@아이피주소:포트번호/SID")

 

먼저 DB에 연결해줘야하는데

connect라는 기능을 불러와서 

파라미터로 아이디/비번@아이피주소:포트번호/SID 형식으로 넣어줍니다.

 

DB는 연결후 닫아야 하니 가장 아래줄에

con.close를 사전에 적어주겠습니다.

 

con.close()

 

다음은 insert할 데이터를 확보합니다.

저는 input으로 변수에 넣을 예정입니다.

 

n = input("커피 이름 : ")
p = int(input("가격 : "))
b = input("원두 이름 : ")

 

그리고 수행할 sql문을 작성해서

sql 변수에 넣어주겠습니다.

 

sql = "insert into mar07_coffee values(mar07_coffee_seq.nextval,"
sql += " '%s', '%d', '%s')" % (n, p, b)

 

이때는 들어갈 데이터를 직접 포맷팅해도 되고,

f-string을 써도 무방합니다.

 

cur = con.cursor()

 

파이썬에도 DB관련 SQL문을 수행할 총괄 객체가 있는데요.

그 역할을 해주는 Connect의 cursor를 변수에 넣어줍니다.

 

cur.execute(sql)

 

해당 커서의 execute기능알 사용하고 안에 sql변수를 넣어주면

해당 sql문을 수행하게 됩니다.

 

if cur.rowcount == 1: #방금 작업때문에 영향을 받은 행 수가 1이면
    print("성공 ! ") # 성공
    con.commit()  

 

마지막으로 해당 실행이 완료되었는지 확인하기위해

cursor의 rowcount기능을 사용하면

영향 받은 행의 수가 출력되게 됩니다.

여기까지 하면 콘솔창에 성공!이라는 메세지가 뜨고

 

 

다음과 같이 insert된 것을 확인할 수 있습니다.