pyMySQL SQL 구문 참조 문제,단일 매개 변수 또는 여러 매개 변수 설명

pymy sql 로 데이터 베 이 스 를 조작 하 는 과정 에서 sql 문 구 를 전달 하 는 데 많은 문제 가 발생 했 습 니 다.인터넷 에서 전달 하 는 전략 이 많 습 니 다.여기 서 두 가 지 를 추천 합 니 다.
단일 전송 참조%s,쓰기 가 비교적 간단 합 니 다:

field = '-'
sql_talk="UPDATE cnp.Test set a='' where b='%s'"
cursor.execute(sql_talk % field)
db.commit()
여러 개의 참조{0}자리 차지 문자:

field = '-'
a = 'code'
sql_talk="UPDATE cnp.Test set {0}='' where business_registration_code='{1}'".format(a,field)

cursor.execute(sql_talk)
db.commit()
보충 지식:python 자동화 의 pymysql 라 이브 러 리 사용 변수 가 SQL 문장 에 동적 으로 전달 되 는 매개 변수(sql 주입||전송 정책)
python 3 을 사용 하여 Mysql 에 연결 하여 자동화 첨삭 을 실현 하고 라 이브 러 리 내 데 이 터 를 수정 합 니 다.프로젝트 원인 이 많은 sql 문 구 는 너무 복잡 하기 때문에 sql 문 구 를 전달 하 는 매개 변수 가 너무 많 고 변동 하기 쉬 워 서 많은 학생 들 이 어떻게 해 야 할 지 모 르 고 동태 적 인 전달 파 라 메 터 를 사용 합 니 다.어떤 학생 들 은 비교적 어 리 석 은 방법 으로 sql 을 연결 하지만 작업량 이 너무 많 습 니 다.또한 복잡 한 문 구 를 연결 할 때 오류 가 발생 하기 쉽 고 유지 하기 어렵 기 때문에%s 자리 차지 문자 의 사전 전 참 용법 을 정리 하 였 습 니 다.

import pymysql
db = pymysql.connect(host="119.XX.XX.XX",
            port=3306,
            user="XXXXXXXX",
            passwd="XXXXXXXXXXXXX",
            db="XXXXXX",
            charset='utf8')
 
# %s            ,     ''   ,      
sql = "SELECT totalusercount * 1.4 FROM mm_project_uv_outdoor WHERE poiid = %s AND currenttime = %s"
 
cursor = db.cursor()
#             
cursor.execute(sql,['B00140N5CS','2019-04-23'])
#         cursor.execute(sql,'B00140N5CS')
print(cursor.fetchall())
db.close()
실행 하면 조회 한 데 이 터 를 얻 을 수 있 습 니 다.

마지막 으로 여러분 께 서 는 공식 문서 나 표준 강 좌 를 많이 보 시 는 것 이 학습 에 더욱 유익 할 것 을 건의 합 니 다.
이 pyMySQL 문 구 는 하나의 매개 변수 나 여러 개의 매개 변수 설명 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기