[Python/SQL] PyMySQL - 기본 코드 흐름
2021. 8. 23. 20:00ㆍ03. Resources/Python
728x90
반응형
pymysql
패키지를 이용해서 작업을 하다보면 코드에 템플릿이 있다는걸 알 수 있다.
먼저 전체 흐름을 보자.
# 코드 전체 흐름
import pymysql # 고정
conn = pymysql.connect(host="", user="", password="",charset="utf8",...) # 가변
cursor = conn.cursor() # 고정
sql = "SQL COMMAND" # 가변
cursor.execute(sql, (args)) # 가변
res = cursor.fetchall() # 가변
conn.commit() # 가변
conn.close() # 고정
위의 코드에서 몇 개는 고정
으로, 몇 개는 가변
으로 주석을 달아뒀는데, 위에서 부터 한 줄씩 그 이유에 대해서 알아보자.
import pymysql
- 패키지를 파이썬에서 사용한다고 선언하는 부분이기 때문에 얘는 무조건 고정이다.
conn = pymysql.connect(host="", user="", password="",charset="utf8",...)
- mysql과 작업 중인 파이썬 스크립트를 연결하는 부분이다.
- mysql에서 접근하고자 하는 범위에 따라서 argument의 값이 바뀔 수도 있고, 새로운 argument가 추가될 수 있다.
cursor = conn.cursor()
- pymysql의 connection 객체에서 cursor 객체를 가져오는 부분이다.
- mysql에 sql 커맨드를 보내기 위한 연결 통로라고 보면 된다. 그래서 얘도 무조건 고정이다.
sql = "SQL COMMAND"
- 사실 이걸 쓰기 위해서 앞의 다른 작업들이 필요한 것이다.
- 우리가 원하는 SQL 커맨드를 여기에 입력하면 된다.
- 문법은 그냥 SQL문법이다.
cursor.execute(sql, (args))
- 작성한 커맨드에 따라 arguments가 필요할 수 도 있기 때문에 가변이다.
res = cursor.fetchall()
- 작성한 커맨드에 따라 mysql에서 return을 받아야 하는 경우에 이용한다.
fetchall()
뿐 아니라fetchone()
,fetchmany()
등의 커맨드도 있다.
conn.commit()
- Database에 있는 데이터를 수정하는 커맨드들 (INSERT, UPDATE, DELETE)를 사용한 경우, 변경 사항을 database에 확정지어 반영하기 위해서 사용한다.
- git으로 생각하면 commit + push 같은 느낌
conn.close()
- 모든 작업을 마치면 database와의 연결을 닫아야하니까 close() 커맨드를 쓴다.
- 그래서 얘도 고정이다.
어떤 커맨드를 쓰느냐, 어디까지 접근하느냐에 따라서 많은 것들이 변한다.
잘 신경써서 코드를 작성해보자!
반응형
'03. Resources > Python' 카테고리의 다른 글
[Python/SQL] PyMySQL - Table 만들기 (0) | 2021.08.27 |
---|---|
[Python/SQL] PyMySQL - Database(Schema) 만들기 (0) | 2021.08.25 |
[Python/SQL] PyMySQL - 패키지 설치 (0) | 2021.08.21 |
[Python 문제풀이] 19일차 (끝) (0) | 2020.07.27 |
[Python 문제풀이] 18일차 (0) | 2020.07.26 |