[파이썬] Psycopg2에서 Insert returning 값 사용

Psycopg2은 파이썬에서 PostgreSQL 데이터베이스에 접속하고 작업하는 데 사용되는 인기있는 라이브러리입니다. 이 라이브러리를 사용하면 데이터베이스 쿼리를 실행하고 결과를 처리하는 것이 간단해집니다.

이번 글에서는 Psycopg2에서 Insert 쿼리를 실행하고 새로운 레코드의 값을 반환하는 방법에 대해 알아보겠습니다.

보통 Insert 쿼리는 새로운 레코드를 데이터베이스에 삽입하고, 삽입된 레코드의 일부 또는 전체 값을 반환해야 할 때 사용됩니다. 이렇게 반환된 값을 활용하면 새로운 레코드에 대한 추가 작업을 수행할 수 있습니다.

import psycopg2

# PostgreSQL에 연결
conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myuser",
    password="mypassword"
)

# 커서 생성
cur = conn.cursor()

# Insert문 실행
cur.execute("INSERT INTO mytable (column1, column2) VALUES (%s, %s) RETURNING id, column1, column2;", ("value1", "value2"))

# 반환된 값 가져오기
result = cur.fetchone()

# 결과 출력
print(result)

# 연결 종료
cur.close()
conn.close()

위의 예제 코드에서는 mytable 테이블에 column1column2에 해당하는 값을 삽입하고 반환합니다. RETURNING 절을 사용하여 반환할 열을 지정하고, cur.fetchone()을 사용하여 반환된 값을 가져옵니다.

이를 실행하면 반환된 값이 출력되는 것을 확인할 수 있습니다. 이제 이 값을 사용하여 추가 작업을 수행할 수 있습니다.

Psycopg2를 사용하여 Insert 쿼리를 실행하고 반환된 값을 처리하는 것은 매우 간단합니다. 이를 활용하여 데이터베이스 작업을 더욱 효율적으로 처리할 수 있습니다.