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

69 lines
2.3 KiB
Markdown

# 데이터베이스
파이썬은 다양한 데이터베이스와 상호 작용할 수 있는 풍부한 모듈을 제공합니다. 이러한 모듈들은 데이터 저장, 검색, 수정, 삭제 등 데이터베이스 관련 작업을 쉽고 효율적으로 수행할 수 있도록 도와줍니다.
- sqlite3
파이썬 표준 라이브러리에 포함되어 있어 별도 설치가 필요 없습니다.
단일 파일 데이터베이스로 간단한 애플리케이션에 적합합니다.
트랜잭션을 지원하며, ACID 특성을 만족합니다.
* 작은 규모의 데이터 저장, 캐싱, 설정 파일 등
* 웹 애플리케이션의 로컬 데이터 저장
- MySQLdb/PyMySQL
MySQL 데이터베이스와 연결하기 위한 모듈입니다.
MySQL의 강력한 기능을 활용할 수 있습니다.
* 대규모 웹 애플리케이션, 데이터 분석, 데이터베이스 기반 서비스 등
- psycopg2
PostgreSQL 데이터베이스와 연결하기 위한 모듈입니다.
PostgreSQL의 고급 기능을 활용할 수 있습니다.
* 대규모 데이터베이스, 데이터 웨어하우스 등
- SQLAlchemy
다양한 데이터베이스(MySQL, PostgreSQL, SQLite 등)를 통일된 인터페이스로 사용할 수 있는 ORM(Object-Relational Mapper)입니다.
객체 지향적인 방식으로 데이터베이스를 모델링할 수 있습니다.
* 복잡한 데이터 모델링, 데이터베이스 마이그레이션
- MongoDB(NoSQL)
문서 형태로 데이터를 저장하는 NoSQL 데이터베이스입니다.
유연한 데이터 모델링과 확장성이 뛰어납니다.
* 대규모 비정형 데이터 저장, 실시간 분석, 콘텐츠 관리 시스템
```python
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()
```