- Connection: DB 서버에 대문을 열고 들어가는 단계 (Host, User, PW 필요)
- Cursor: 대문 안에서 SQL 명령어를 들고 다니며 실행하는 '일꾼' 객체
- Execute: SQL 쿼리를 DB 서버에 던지는 행위
- Fetch: 실행 결과(Result Set)를 파이썬 메모리로 가져오는 행위
- 문제: users = [{"id": "abc", "posts": 5}, {"id": "def", "posts": 2}, {"id": "ghi", "posts": 10}] 게시글(posts)이 3개 이상인 사용자만 골라서, ID를 Key로 하고 게시글 수를 Value로 갖는 딕셔너리를 만드십시오. 단, 딕셔너리에 들어갈 때 게시글 수에 **'개'**라는 문자를 붙여서 저장하십시오. (예: {"abc": "5개"})
# 가상의 DB 연동 코드 시나리오
import sqlite3 # 예시를 위해 내장 DB 사용
# 1. DB 연결 및 일꾼(Cursor) 생성
conn = sqlite3.connect('my_database.db')
cur = conn.cursor()
# 2. SQL 실행
cur.execute("SELECT id, posts FROM users WHERE posts >= 3")
# 3. 데이터 가져오기 (결과: [('abc', 5), ('ghi', 10)])
rows = cur.fetchall()
# 4. 파이썬 로직으로 가공 (Dictionary Comprehension)
# 여기서 '개'를 붙이는 로직을 적용하십시오.
user_dict = {row[0]: f"{row[1]}개" for row in rows}
print(user_dict) # 결과: {'abc': '5개', 'ghi': '10개'}