2025-01-23T11:02:27
This commit is contained in:
68
doc/28_00_database.md
Normal file
68
doc/28_00_database.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# 데이터베이스
|
||||
파이썬은 다양한 데이터베이스와 상호 작용할 수 있는 풍부한 모듈을 제공합니다. 이러한 모듈들은 데이터 저장, 검색, 수정, 삭제 등 데이터베이스 관련 작업을 쉽고 효율적으로 수행할 수 있도록 도와줍니다.
|
||||
|
||||
- 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()
|
||||
```
|
||||
Reference in New Issue
Block a user