Python의 SQL 문에서 변수를 사용하는 방법은 무엇입니까?
P粉200138510
P粉200138510 2023-08-20 17:35:10
0
2
507
<p>다음 Python 코드가 있습니다: </p> <pre class="brush:py;toolbar:false;">cursor.execute("INSERT INTO 테이블 VALUES var1, var2, var3,") </pre> <p>여기서 <code>var1</code>는 정수이고 <code>var2</code>는 문자열입니다. </p> <p>쿼리 텍스트에 변수 이름을 포함하지 않고 Python에서 변수 이름을 어떻게 작성합니까? </p>
P粉200138510
P粉200138510

모든 응답(2)
P粉545682500

Python DB-API의 다양한 구현은 다양한 자리 표시자를 허용하므로 어떤 것을 사용하고 있는지 알아내야 합니다(예: MySQLdb 사용):

으아악

또는 (Python 표준 라이브러리의 sqlite3 사용):

으아악

또는 다른 것(VALUES之后你可以有(:1, :2, :3),或者"命名样式"(:fee, :fie, :fo)或者(%(fee)s, %(fie)s, %(fo)s),在execute的第二个参数中传递一个字典而不是一个映射)。检查你正在使用的DB API模块中的paramstyle문자열 상수에서 모든 매개변수 전달 스타일을 보려면 http://www.python.org/dev/peps/pep-0249/에서 paramstyle을 찾아보세요!

P粉926174288

으아악

인수는 튜플로 전달됩니다. (a, b, c)。如果你只传递一个参数,元组需要以逗号结尾,(a,).

데이터베이스 API는 변수를 적절하게 이스케이프하고 인용합니다. 문자열 형식 지정 연산자(%)를 사용하지 않도록 주의하세요.

  1. 이스케이프나 인용을 수행하지 않습니다.
  2. SQL 주입과 같은 제어할 수 없는 문자열 형식 지정 공격에 취약합니다.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿