Files
python-examples/doc/28_00_database.md
2025-01-23 11:02:27 +09:00

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()