728x90
반응형
Python MySQL과 PostgreSQL 연동 방법
데이터베이스는 현대 애플리케이션의 핵심 요소 중 하나입니다. Python은 다양한 데이터베이스와 쉽게 연동할 수 있는 강력한 라이브러리를 제공합니다. 오늘은 Python을 사용해 MySQL과 PostgreSQL에 연결하고 데이터를 조작하는 방법을 다룹니다. 이 글은 데이터베이스 기초 지식이 있다고 가정하며, Python과 MySQL, PostgreSQL을 설치했다고 가정합니다.
1. MySQL 연동하기
1.1 MySQL 연동을 위한 준비
MySQL을 사용하려면 mysql-connector-python
라이브러리를 설치해야 합니다. 다음 명령어를 실행해 설치합니다:
pip install mysql-connector-python
1.2 MySQL 연결 코드
다음은 Python을 사용해 MySQL 데이터베이스에 연결하는 예제입니다:
import mysql.connector
# 데이터베이스 연결
conn = mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="your_database"
)
cursor = conn.cursor()
# 테이블 생성 예제
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT
)
""")
# 데이터 삽입 예제
cursor.execute("INSERT INTO users (name, age) VALUES (%s, %s)", ("Alice", 30))
conn.commit()
# 데이터 조회 예제
cursor.execute("SELECT * FROM users")
for row in cursor.fetchall():
print(row)
# 연결 종료
cursor.close()
conn.close()
1.3 주요 코드 설명
mysql.connector.connect
: MySQL 서버와 연결을 설정합니다.cursor.execute
: SQL 명령을 실행합니다.conn.commit
: 데이터베이스 변경 사항을 커밋합니다.cursor.fetchall
: SELECT 쿼리 결과를 가져옵니다.
1.4 에러 처리
MySQL 작업 중 발생할 수 있는 에러를 처리하려면 try-except
구문을 활용합니다:
try:
conn = mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="your_database"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
print(cursor.fetchall())
except mysql.connector.Error as err:
print(f"Error: {err}")
finally:
if conn.is_connected():
cursor.close()
conn.close()
2. PostgreSQL 연동하기
2.1 PostgreSQL 연동을 위한 준비
PostgreSQL을 사용하려면 psycopg2
라이브러리를 설치해야 합니다. 다음 명령어를 실행해 설치합니다:
pip install psycopg2
2.2 PostgreSQL 연결 코드
다음은 Python을 사용해 PostgreSQL 데이터베이스에 연결하는 예제입니다:
import psycopg2
# 데이터베이스 연결
conn = psycopg2.connect(
host="localhost",
database="your_database",
user="your_user",
password="your_password"
)
cursor = conn.cursor()
# 테이블 생성 예제
cursor.execute("""
CREATE TABLE IF NOT EXISTS products (
id SERIAL PRIMARY KEY,
name VARCHAR(255),
price NUMERIC
)
""")
# 데이터 삽입 예제
cursor.execute("INSERT INTO products (name, price) VALUES (%s, %s)", ("Laptop", 1200.50))
conn.commit()
# 데이터 조회 예제
cursor.execute("SELECT * FROM products")
for row in cursor.fetchall():
print(row)
# 연결 종료
cursor.close()
conn.close()
2.3 주요 코드 설명
psycopg2.connect
: PostgreSQL 서버와 연결을 설정합니다.cursor.execute
: SQL 명령을 실행합니다.conn.commit
: 데이터베이스 변경 사항을 커밋합니다.cursor.fetchall
: SELECT 쿼리 결과를 가져옵니다.
2.4 에러 처리
PostgreSQL 작업 중 발생할 수 있는 에러를 처리하려면 다음과 같이 try-except
구문을 사용할 수 있습니다:
try:
conn = psycopg2.connect(
host="localhost",
database="your_database",
user="your_user",
password="your_password"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM products")
print(cursor.fetchall())
except psycopg2.Error as err:
print(f"Error: {err}")
finally:
if conn:
cursor.close()
conn.close()
3. MySQL과 PostgreSQL 간 차이점
특징 | MySQL | PostgreSQL |
---|---|---|
데이터 유형 지원 | 제한적 | 풍부한 데이터 유형 지원 |
JSON 지원 | 기본 제공 | 고급 JSON 함수 제공 |
확장성 | 상대적으로 제한적 | 매우 확장 가능 |
트랜잭션 처리 | 기본 제공 | 고급 트랜잭션 처리 가능 |
4. 마무리
이번 포스팅에서는 Python을 사용해 MySQL과 PostgreSQL에 연결하고 데이터를 조작하는 방법을 알아보았습니다. 두 데이터베이스는 각각의 장단점이 있으므로 프로젝트의 요구사항에 따라 적합한 데이터베이스를 선택하는 것이 중요합니다. 예제를 따라하며 직접 코드를 실행해보세요. 데이터베이스와 Python 연동의 강력함을 실감할 수 있을 것입니다.
728x90
반응형
'Python > Python 심화' 카테고리의 다른 글
Python 브라우저 자동화를 위한 Selenium 사용 (0) | 2025.08.13 |
---|---|
Python 데이터베이스 쿼리 최적화 팁 (0) | 2025.08.12 |
Python SQLAlchemy를 이용한 ORM 사용 (0) | 2025.08.10 |
Python SQLite와 연동하기 (0) | 2025.08.09 |
Python WebSockets를 이용한 실시간 통신 (0) | 2025.08.08 |