>  Q&A  >  본문

변수를 사용하여 Python에서 SQL 문 실행

다음 Python 코드가 있습니다.

으아악

여기서 var1 是整数,var2var3는 문자열입니다.

Python을 사용하지 않고 변수 이름(쿼리 텍스트의 일부로)을 작성하는 방법은 무엇입니까?

P粉731977554P粉731977554373일 전669

모든 응답(2)나는 대답할 것이다

  • P粉718165540

    P粉7181655402023-10-13 14:17:00

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

    으아아아

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

    으아아아

    또는 기타(VALUES 之后,您可以有 (:1, :2, :3) 或“命名样式” (:fee, : fie, :fo)(%(fee)s, %(fie)s, %(fo)s) ,其中您将字典而不是映射作为第二个参数传递给执行)。检查您正在使用的 DB API 模块中的 paramstyle 문자열 상수 및 http://www.python.org/dev/peps/pep-0249/에서 모든 인수 전달 스타일이 무엇인지 확인하세요!

    회신하다
    0
  • P粉521697419

    P粉5216974192023-10-13 00:59:08

    으아악

    매개변수는 튜플로 전달됩니다. (a, b, c)。如果您传递单个参数,则元组需要以逗号结尾,(a,).

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

    1. 이스케이프나 인용을 수행하지 않습니다.
    2. SQL_injection과 같은 제어되지 않는 문자열 형식 지정 공격에 취약합니다.

    회신하다
    0
  • 취소회신하다