[파이썬] 웹 호스팅의 데이터베이스 관리

웹 호스팅은 온라인 비즈니스나 웹 애플리케이션을 운영하는 데 필수적인 요소입니다. 데이터베이스는 웹 사이트에서 사용되는 정보를 저장하고 관리하는 데 중요한 역할을 합니다. 이 글에서는 Python을 사용하여 웹 호스팅에서 데이터베이스를 관리하는 방법을 알아보겠습니다.

데이터베이스 설정

웹 호스팅에서는 대부분 MySQL, PostgreSQL, SQLite 등의 데이터베이스 관리 시스템을 제공합니다. 이 중에서도 Python에서 가장 널리 사용되는 데이터베이스는 MySQL과 PostgreSQL입니다.

데이터베이스에 연결하려면 해당 데이터베이스에 대한 드라이버를 설치해야 합니다. Python에서는 MySQLdb 또는 psycopg2 패키지를 사용하여 MySQL과 PostgreSQL에 접속할 수 있습니다.

import MySQLdb

# MySQL 데이터베이스에 연결
db = MySQLdb.connect(host="localhost",    # 호스트명
                     user="username",     # 사용자명
                     passwd="password",   # 비밀번호
                     db="database_name")  # 데이터베이스명
import psycopg2

# PostgreSQL 데이터베이스에 연결
connection = psycopg2.connect(user="username",     # 사용자명
                              password="password", # 비밀번호
                              host="localhost",    # 호스트명
                              port="5432",         # 포트번호
                              database="database_name") # 데이터베이스명

데이터베이스 작업

데이터베이스에 대한 작업은 SQL 쿼리를 실행하여 데이터를 생성, 조회, 수정, 삭제하는 것을 포함합니다. Python에서는 데이터베이스에 쿼리를 실행하기 위해 cursor 객체를 사용합니다.

cursor = db.cursor()

# 데이터베이스에 쿼리 실행
cursor.execute("SELECT * FROM table_name")

# 결과 가져오기
results = cursor.fetchall()

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

# 커서 닫기
cursor.close()
cursor = connection.cursor()

# 데이터베이스에 쿼리 실행
cursor.execute("SELECT * FROM table_name")

# 결과 가져오기
results = cursor.fetchall()

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

# 커서 닫기
cursor.close()

SQLAlchemy 사용하기

SQLAlchemy는 Python에서 데이터베이스 관리를 쉽게 할 수 있는 ORM(Object-Relational Mapping) 라이브러리입니다. ORM을 사용하면 SQL 쿼리를 직접 작성하는 대신 Python 클래스를 사용하여 데이터를 조작할 수 있습니다.

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

# 데이터베이스 엔진 생성
engine = create_engine('mysql://username:password@localhost/database_name')

# 세션 생성
Session = sessionmaker(bind=engine)
session = Session()

# 모델 정의
Base = declarative_base()

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    email = Column(String(50))

# 데이터 조회
users = session.query(User).all()

# 데이터 생성
new_user = User(name='John Doe', email='john@example.com')
session.add(new_user)
session.commit()

# 데이터 수정
user = session.query(User).filter_by(id=1).first()
user.name = 'Jane Doe'
session.commit()

# 데이터 삭제
user = session.query(User).filter_by(id=1).first()
session.delete(user)
session.commit()

# 세션 닫기
session.close()

이제 Python을 사용하여 웹 호스팅에서 데이터베이스를 관리하는 방법에 대해 알게 되었습니다. 각 호스팅 서비스는 지원하는 데이터베이스에 따라 조금씩 다를 수 있으므로 해당 호스팅 서비스의 문서를 참고하여 자세한 설정 및 작업 방법을 확인해야 합니다.