< 정리 >
1. pymysql은 파이썬에서 mysql과 상호작용할 수 있는 파이썬 패키지.
2. 보통 pymysql.connect() 함수를 사용하여 외부 DB의 mysql과 연결한 후, 그 결과인 return을 다른 변수에 할당하여 할당 된 변수를 활용
3. cursor()는 pymysql의 객체로서, DB와 상호작용하기 위해 반드시 필요한 객체라고 할 수 있다. 이 객체를 통해서 mysql에 다양한 명령을 내릴 수 있다.
< 예 >
connection = pymysql.connect(
host=DB_HOST,
user=DB_USER,
password=DB_PASSWORD,
database=DB_NAME,
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM <TABLE> ORDER BY <COLUMN> DESC;")
changes = cursor.fetchall()
cursor.execute("DELETE FROM users WHERE user_id = %s", (user_id,))
connection.commit()
with connection.cursor() as cursor:
# 쿼리 실행 및 결과 처리
# 블록을 벗어나면 cursor가 자동으로 닫힘
참고)
with을 사용하면, 위의 예처럼 with과 같은 줄에 적혀있는 connection.cursor()를 cursor라는 변수로 다룰 수 있고 with 하위 코드에서만 이 설정이 유지된다. 이 코드 외부에서는 cursor()를 이용하여 connection.cursor()와 같은 효과를 기대할 수 없다.
'BackEnd(?)' 카테고리의 다른 글
MySQL. 비밀번호 인증방식 변경하기(mysql_native_password, auth_socket) (0) | 2024.08.13 |
---|---|
MySQL. "mysql_native_password" vs "auth_socket" (0) | 2024.08.13 |
MySQL. 사용자 권한 확인하고 외부에서 접속할 수 있도록 설정하기 (0) | 2024.08.13 |
MySQL. 외부에서 Database서버의 MySQL과 통신 가능한지 확인하기 (0) | 2024.08.13 |