2.3 KiB
2.3 KiB
데이터베이스
파이썬은 다양한 데이터베이스와 상호 작용할 수 있는 풍부한 모듈을 제공합니다. 이러한 모듈들은 데이터 저장, 검색, 수정, 삭제 등 데이터베이스 관련 작업을 쉽고 효율적으로 수행할 수 있도록 도와줍니다.
-
sqlite3
파이썬 표준 라이브러리에 포함되어 있어 별도 설치가 필요 없습니다. 단일 파일 데이터베이스로 간단한 애플리케이션에 적합합니다. 트랜잭션을 지원하며, ACID 특성을 만족합니다.
- 작은 규모의 데이터 저장, 캐싱, 설정 파일 등
- 웹 애플리케이션의 로컬 데이터 저장
-
MySQLdb/PyMySQL
MySQL 데이터베이스와 연결하기 위한 모듈입니다. MySQL의 강력한 기능을 활용할 수 있습니다.
- 대규모 웹 애플리케이션, 데이터 분석, 데이터베이스 기반 서비스 등
-
psycopg2
PostgreSQL 데이터베이스와 연결하기 위한 모듈입니다. PostgreSQL의 고급 기능을 활용할 수 있습니다.
- 대규모 데이터베이스, 데이터 웨어하우스 등
-
SQLAlchemy
다양한 데이터베이스(MySQL, PostgreSQL, SQLite 등)를 통일된 인터페이스로 사용할 수 있는 ORM(Object-Relational Mapper)입니다. 객체 지향적인 방식으로 데이터베이스를 모델링할 수 있습니다.
- 복잡한 데이터 모델링, 데이터베이스 마이그레이션
-
MongoDB(NoSQL)
문서 형태로 데이터를 저장하는 NoSQL 데이터베이스입니다. 유연한 데이터 모델링과 확장성이 뛰어납니다.
- 대규모 비정형 데이터 저장, 실시간 분석, 콘텐츠 관리 시스템
import sqlite3
# 데이터베이스 연결
conn = sqlite3.connect('mydatabase.db')
# 커서 생성
cursor = conn.cursor()
# 테이블 생성
cursor.execute('''CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
email TEXT
)''')
# 데이터 삽입
cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('Alice', 'alice@example.com'))
# 데이터 조회
cursor.execute("SELECT * FROM users")
results = cursor.fetchall()
for row in results:
print(row)
# 변경 사항 저장
conn.commit()
# 연결 종료
conn.close()