240325 파이썬과 SQL

송용진·2024년 3월 25일

이 클래스에서 self.conn은 PostgreSQL 데이터베이스와의 연결을 관리하는 객체입니다. psycopg2 라이브러리를 사용하여 PostgreSQL 데이터베이스에 연결하고, 이 연결을 통해 SQL 명령을 실행하고 데이터베이스와의 상호작용을 합니다.

self.conn의 주요 기능:

  1. 데이터베이스 연결 관리: self.conn 객체는 데이터베이스 서버와의 연결을 나타냅니다. 데이터베이스 이름, 사용자 이름, 비밀번호, 호스트, 포트 등 연결에 필요한 정보를 기반으로 데이터베이스에 연결합니다.

  2. 트랜잭션 관리: self.conn 객체를 사용하여 데이터베이스 트랜잭션을 시작, 커밋 또는 롤백할 수 있습니다. 예를 들어, create_actor, update_actor, delete_actor 메소드에서 데이터베이스 변경 사항을 반영하기 위해 self.conn.commit() 메소드를 호출합니다. 이는 SQL 명령이 성공적으로 실행되었을 때 데이터베이스에 변경 사항을 영구적으로 적용합니다.

  3. 커서 생성: 데이터베이스와의 상호작용을 위해 self.conn.cursor() 메소드를 호출하여 커서 객체를 생성합니다. 커서 객체를 사용하여 SQL 쿼리를 실행하고, 결과를 가져오고, 데이터베이스에 변경 사항을 적용합니다.

  4. 연결 종료: close() 메소드 내에서 self.conn.close()를 호출하여 데이터베이스 연결을 안전하게 종료합니다. 이 작업은 모든 데이터베이스 작업이 완료된 후에 수행되어야 합니다.

사용 예시:

  • 연결 시도: ActorCRUD 클래스의 인스턴스가 생성될 때 __init__ 메소드는 connect 메소드를 호출하여 self.conn을 초기화하고 데이터베이스 연결을 시도합니다.
  • 데이터베이스 작업: CRUD 작업(create_actor, read_actor, update_actor, delete_actor)을 수행할 때 각 메소드는 self.conn.cursor()를 호출하여 커서 객체를 생성하고, 해당 커서를 사용하여 SQL 명령을 실행합니다.
  • 연결 종료: 모든 데이터베이스 작업이 완료된 후 close 메소드를 호출하여 self.conn.close()를 통해 데이터베이스 연결을 종료합니다.

주의할 점:

  • self.conn.commit()을 호출하지 않고 데이터베이스 연결을 종료하면, 해당 세션에서 수행된 모든 변경 사항이 롤백됩니다.
  • 예외 처리를 통해 데이터베이스 연결 중 발생할 수 있는 오류를 관리해야 합니다. connect 메소드에서 try-except 블록을 사용하여 연결 시도 중 발생하는 예외를 캡처하고 있습니다.
  • 안정적인 애플리케이션 운영을 위해 데이터베이스 연결이 더 이상 필요하지 않을 때는 반드시 연결을 종료해야 합니다.
profile
개발자

0개의 댓글