개발 일지
[pymysql] Parameter Placeholder 본문
pymysql 사용시 작성되는 sql 문장에 고정된 값이 아닌 변수를 통해 데이터 값을 넣어야하는 경우가 있다. 이때 사용되는 것이 parameter placeholder이다.
mysql의 경우 parameter placeholder로 %s를 사용하여 sql문을 만들고 execute()를 사용해 %s에 들어갈 값들을 지정해준다. 만약 여러개의 parameter placeholder가 필요한 경우, 해당 parameter placehoder에 대응하는 값들을 튜플에 순서대로 나열하여 사용할 수 있다.
유의할 점은 parameter placeholder는 string formatting에 사용되는 %d 등과는 다른 개념으로 변수의 형태와는 관계없이 동일하게 사용된다.
def user_info(user_idx):
sql = '''select * from user where user_idx=%s'''
conn = pymysql.connect(db연결)
cursor = conn.cursor()
cursor.execute(sql, user_idx)
result = cursor.fetchone()
conn.close()
return result
def update_post(post_idx, contents):
sql = '''update posts set contents=%s where post_idx=%s'''
conn = pymysql.connect(db연결)
cursor = conn.cursor()
cursor.execute(sql, (contents, post_idx))
conn.commit()
conn.close()
return 'OK'
참고: http://pythonstudy.xyz/python/article/202-MySQL-%EC%BF%BC%EB%A6%AC
'db > mysql' 카테고리의 다른 글
| [Mysql] 데이터 insert 후 PK 얻기 (LAST_INSERT_ID()) (0) | 2020.11.12 |
|---|