웹 호스팅은 온라인 비즈니스나 웹 애플리케이션을 운영하는 데 필수적인 요소입니다. 데이터베이스는 웹 사이트에서 사용되는 정보를 저장하고 관리하는 데 중요한 역할을 합니다. 이 글에서는 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을 사용하여 웹 호스팅에서 데이터베이스를 관리하는 방법에 대해 알게 되었습니다. 각 호스팅 서비스는 지원하는 데이터베이스에 따라 조금씩 다를 수 있으므로 해당 호스팅 서비스의 문서를 참고하여 자세한 설정 및 작업 방법을 확인해야 합니다.