[python] 클래스로 데이터베이스 연결하기

데이터베이스와의 연결은 파이썬 애플리케이션에서 매우 중요합니다. 여러 가지 방법이 있지만, 일반적으로 클래스를 사용하여 데이터베이스 연결을 관리하는 것이 좋습니다. 이 포스트에서는 파이썬 클래스를 사용하여 데이터베이스 연결을 설정하는 방법에 대해 알아보겠습니다.

목차

  1. 데이터베이스 연결 클래스 만들기
  2. 데이터베이스 연결 설정
  3. 데이터 조회 및 수정

데이터베이스 연결 클래스 만들기

우선, 데이터베이스 연결을 관리하기 위한 클래스를 만들어야 합니다. 보통 이 클래스에는 데이터베이스 서버, 사용자 이름, 암호 및 데이터베이스 이름과 같은 연결 정보가 포함됩니다. 아래는 간단한 예제입니다.

import sqlite3

class Database:
    def __init__(self, db_name):
        self.connection = sqlite3.connect(db_name)
        self.cursor = self.connection.cursor()

    def close_connection(self):
        self.connection.close()

위의 예제는 SQLite 데이터베이스에 연결하는 간단한 클래스를 보여줍니다. 원하는 데이터베이스 시스템에 따라 다른 모듈을 사용하고, 해당 모듈에 맞는 연결 방법을 구현할 수 있습니다.

데이터베이스 연결 설정

이제 클래스를 사용하여 데이터베이스에 연결하고 데이터를 조회하거나 수정하는 방법을 살펴보겠습니다. 아래 예제는 클래스를 사용하여 데이터베이스에 연결하고 테이블을 조회하는 방법을 보여줍니다.

db = Database('example.db')
db.cursor.execute('SELECT * FROM table_name')
rows = db.cursor.fetchall()

for row in rows:
    print(row)

db.close_connection()

위 코드에서 Database 클래스의 인스턴스를 만들고, 인스턴스의 cursor 속성을 사용하여 쿼리를 실행하고 결과를 처리합니다. 마지막으로 close_connection 메서드를 사용하여 연결을 종료합니다.

데이터 조회 및 수정

클래스를 사용하여 데이터베이스에 연결했으면, 데이터를 조회하거나 수정할 수 있습니다. 삽입, 업데이트 또는 삭제와 같은 작업을 클래스의 메서드로 구현할 수 있습니다. 예를 들어, 데이터를 삽입하는 메서드를 추가할 수 있습니다.

class Database:
    # 이전 코드 생략

    def insert_data(self, data):
        self.cursor.execute('INSERT INTO table_name (column1, column2) VALUES (?, ?)', data)
        self.connection.commit()

위의 insert_data 메서드는 데이터를 삽입하는 기능을 제공합니다. 이런 식으로 필요한 데이터 작업을 추가하여 클래스를 확장할 수 있습니다.

결론

이제 파이썬 클래스를 사용하여 데이터베이스에 연결하고 데이터를 조회하고 수정하는 방법에 대해 알아보았습니다. 데이터베이스 관련 작업을 클래스로 캡슐화하면 코드를 보다 재사용하기 쉽게 만들 수 있고, 유지보수도 용이해집니다.

참고문헌: