[파이썬] Psycopg2에서 Cursor 객체의 생성 및 사용

Psycopg2는 PostgreSQL 데이터베이스와의 상호작용을 도와주는 파이썬 라이브러리입니다. 이 라이브러리를 사용하면 파이썬 코드 내에서 PostgreSQL 데이터베이스에 접속하고, 쿼리를 실행하고, 결과를 처리할 수 있습니다. 이번 포스트에서는 Psycopg2의 Cursor 객체의 생성 및 사용에 대해 알아보겠습니다.

Cursor 객체란?

Cursor 객체는 Psycopg2 라이브러리에서 사용되는 데이터베이스 작업을 수행하는 데 사용되는 핵심 객체입니다. 이 객체를 사용하여 데이터베이스에 쿼리를 실행하고, 결과를 조회하고, 데이터를 업데이트하고 삭제할 수 있습니다. Cursor 객체를 사용하면 데이터베이스와의 상호작용을 간편하게 처리할 수 있습니다.

1. Cursor 객체 생성

먼저 Psycopg2로 PostgreSQL 데이터베이스에 접속한 후, Cursor 객체를 생성해야 합니다. 다음은 Cursor 객체를 생성하는 예제 코드입니다.

import psycopg2

# 데이터베이스에 접속
connection = psycopg2.connect(user="사용자명", password="비밀번호", host="호스트명", port="포트번호", database="데이터베이스명")

# Cursor 객체 생성
cursor = connection.cursor()

위의 코드에서 psycopg2.connect() 함수를 사용하여 PostgreSQL 데이터베이스에 접속한 후, connection.cursor() 메서드를 호출하여 Cursor 객체를 생성합니다.

2. 쿼리 실행

Cursor 객체를 사용하여 데이터베이스에 쿼리를 실행할 수 있습니다. 아래는 execute() 메서드를 사용하여 SELECT 쿼리를 실행하는 예제 코드입니다.

# SELECT 쿼리 실행
cursor.execute("SELECT * FROM 테이블명")

# 결과 조회
results = cursor.fetchall()

# 결과 출력
for row in results:
    print(row)

위의 코드에서 cursor.execute() 메서드를 사용하여 “SELECT * FROM 테이블명” 쿼리를 실행합니다. 그리고 cursor.fetchall() 메서드를 호출하여 실행결과를 조회하고, for문을 사용하여 결과를 출력합니다.

3. 데이터 업데이트

Cursor 객체를 사용하여 데이터베이스의 데이터를 업데이트할 수도 있습니다. 아래는 execute() 메서드를 사용하여 UPDATE 쿼리를 실행하는 예제 코드입니다.

# UPDATE 쿼리 실행
cursor.execute("UPDATE 테이블명 SET 열1='값1' WHERE 조건")

# 커밋 (변경된 내용을 데이터베이스에 반영)
connection.commit()

위의 코드에서 cursor.execute() 메서드를 사용하여 “UPDATE 테이블명 SET 열1=’값1’ WHERE 조건” 쿼리를 실행합니다. 그리고 변경된 내용을 데이터베이스에 반영하기 위해 connection.commit() 메서드를 호출합니다.

이와 같이 Cursor 객체를 사용하여 데이터베이스와 상호작용할 수 있습니다. Cursor 객체를 사용하면 데이터베이스 작업을 간편하게 처리할 수 있으며, 쿼리 실행 결과를 처리하는 등 다양한 작업을 수행할 수 있습니다.