SQL에서의 데이터베이스 세션 및 커넥션 제어 연습문제
SQL 데이터베이스로 작업할 때 데이터베이스 세션과 커넥션의 제어는 매우 중요합니다. 데이터베이스 세션은 사용자가 데이터베이스에 접속한 상태를 의미하며, 커넥션은 애플리케이션과 데이터베이스 사이의 연결을 나타냅니다. 이번 연습문제에서는 데이터베이스 세션과 커넥션의 제어에 대한 실전 연습을 진행해보겠습니다.
연습문제
- 데이터베이스에 접속하기 위한 커넥션 객체를 만드는 코드를 작성해보세요. (Python 예시) ```python import mysql.connector
conn = mysql.connector.connect( host=”localhost”, user=”root”, password=”password”, database=”mydatabase” )
2. 커넥션을 사용하여 SQL 쿼리를 전송하고, 결과를 받아오는 코드를 작성해보세요. (Python 예시)
```python
import mysql.connector
# 커넥션 생성
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="mydatabase"
)
# 커서 생성
cursor = conn.cursor()
# SQL 쿼리 실행
cursor.execute("SELECT * FROM customers")
# 결과 받아오기
result = cursor.fetchall()
# 결과 출력
for row in result:
print(row)
# 커서 종료
cursor.close()
# 커넥션 종료
conn.close()
- 데이터베이스 세션을 관리하기 위해 커넥션 풀을 사용하는 코드를 작성해보세요. (Python 예시) ```python from mysql.connector import pooling
커넥션 풀 생성
connection_pool = pooling.MySQLConnectionPool( pool_name=”my_pool”, pool_size=5, host=”localhost”, database=”mydatabase”, user=”root”, password=”password” )
커넥션 가져오기
conn = connection_pool.get_connection()
커서 생성
cursor = conn.cursor()
SQL 쿼리 실행
cursor.execute(“SELECT * FROM customers”)
결과 받아오기
result = cursor.fetchall()
결과 출력
for row in result: print(row)
커서 종료
cursor.close()
커넥션 종료
conn.close() ```
참고 자료
- MySQL Connector/Python - MySQL 공식 문서
- Understanding Database Connection Pooling in Python - Real Python
- Python and MySQL - W3Schools