2강: Python에서 PostgreSQL 사용하기
목차
- Python 환경 설정
- psycopg2를 사용하여 PostgreSQL과 연결하기
- Python으로 데이터베이스에 데이터 삽입 및 조회하기
- 오류 처리 및 트랜잭션 관리
1. Python 환경 설정
Python 개발 환경을 설정하는 방법을 알아봅니다. 가상 환경을 사용하면 프로젝트별로 독립적인 패키지 관리가 가능합니다.
Python 설치 및 설정
- Python 공식 사이트에서 Python 설치 파일 다운로드 및 설치.
- 설치 확인:
python --version
가상 환경 설정
가상 환경을 사용하여 프로젝트별로 독립적인 패키지 관리를 합니다.
- 가상 환경 생성 및 활성화:
python -m venv myenv source myenv/bin/activate # Windows에서는 myenv\Scripts\activate
2. psycopg2를 사용하여 PostgreSQL과 연결하기
PostgreSQL 데이터베이스에 연결하기 위해 psycopg2 라이브러리를 사용합니다.
psycopg2 설치
psycopg2를 설치하여 Python에서 PostgreSQL에 연결할 수 있습니다.
pip install psycopg2-binary
데이터베이스 연결
데이터베이스 연결을 설정하고, 연결 객체와 커서를 생성합니다.
import psycopg2
# 데이터베이스 연결 설정
conn = psycopg2.connect(
host="localhost", # 데이터베이스 호스트 이름
database="mydatabase", # 데이터베이스 이름
user="yourusername", # 데이터베이스 사용자 이름
password="yourpassword" # 데이터베이스 비밀번호
)
# 커서 생성
cur = conn.cursor()
3. Python으로 데이터베이스에 데이터 삽입 및 조회하기
Python을 사용하여 데이터베이스에 데이터를 삽입하고 조회하는 방법을 알아봅니다.
데이터 삽입
데이터베이스에 데이터를 삽입하는 SQL 쿼리를 실행합니다.
# 데이터 삽입 쿼리
cur.execute("INSERT INTO users (name, email) VALUES (%s, %s)", ("Jane Doe", "jane@example.com"))
# 변경사항 저장
conn.commit()
데이터 조회
데이터베이스에서 데이터를 조회하는 SQL 쿼리를 실행합니다.
# 데이터 조회 쿼리
cur.execute("SELECT * FROM users")
rows = cur.fetchall()
for row in rows:
print(row)
4. 오류 처리 및 트랜잭션 관리
데이터베이스 작업 중 발생할 수 있는 오류를 처리하고, 트랜잭션을 관리하는 방법을 학습합니다.
기본적인 오류 처리
데이터베이스 작업 중 발생할 수 있는 오류를 try-except 블록으로 처리합니다.
try:
# 데이터베이스 작업
cur.execute("SELECT * FROM users")
except Exception as e:
print(f"Error: {e}")
트랜잭션 관리
트랜잭션 관리를 통해 데이터 일관성을 유지합니다. 오류 발생 시 롤백하여 데이터베이스 상태를 복구합니다.
try:
# 데이터베이스 작업
cur.execute("INSERT INTO users (name, email) VALUES (%s, %s)", ("John Smith", "john.smith@example.com"))
conn.commit()
except Exception as e:
conn.rollback() # 오류 발생 시 롤백
print(f"Transaction error: {e}")
흔하게 발생하는 오류 및 해결 방법
- 오류:
psycopg2.OperationalError: FATAL: password authentication failed for user "yourusername"
- 해결 방법: 데이터베이스 연결 설정에서 사용자 이름과 비밀번호를 확인하세요.
- 오류:
psycopg2.ProgrammingError: relation "users" does not exist
- 해결 방법: 테이블 이름을 확인하고, 대소문자를 구분합니다. 테이블 생성 후 제대로 생성되었는지 확인합니다.
마무리
Python을 사용하여 PostgreSQL과 연결하고, 데이터를 삽입 및 조회하는 방법을 학습했습니다. 다음 강의에서는 FastAPI와 PostgreSQL을 연동하여 CRUD API를 작성하는 방법을 배워보겠습니다.
'PostgreSQL' 카테고리의 다른 글
5강: FastAPI를 통한 웹 게시 (0) | 2024.05.29 |
---|---|
4강: 웹 크롤링 데이터 저장 (0) | 2024.05.29 |
3강: FastAPI와 PostgreSQL 연동하기 (0) | 2024.05.29 |
1강: PostgreSQL 기초 및 설치 (0) | 2024.05.29 |
[교안]PostgreSQL과 FastAPI를 활용한 웹 크롤링 학습 커리큘럼 (0) | 2024.05.29 |