psycopg2에서 매개변수로 동적 테이블 이름 전달
psycopg2에서는 SQL 쿼리를 작성할 때 동적 테이블 이름을 매개변수로 전달할 수 있습니다. 이는 사용자 입력이나 데이터베이스 구성과 같은 상황에 따라 테이블 이름이 변경될 수 있는 경우 유용합니다.
테이블 이름을 매개변수로 전달하려면 psycopg2.sql 모듈을 사용할 수 있습니다. 이 모듈은 테이블 및 필드 이름을 매개변수로 나타내는 데 사용할 수 있는 Identifier
클래스를 제공합니다.
다음은 Identifier
클래스를 사용하여 동적 테이블 이름을 매개변수로 전달하는 방법의 예입니다.
<code class="language-python">from psycopg2 import sql table_name = 'ss2012_t02' sql_query = sql.SQL("select * from {table_name}").format(table_name=sql.Identifier(table_name))</code>
이 예에서 table_name
변수는 테이블 이름을 나타내는 매개변수를 생성하는 Identifier
클래스에 매개변수로 전달됩니다. 그런 다음 format()
메서드를 사용하여 SQL 쿼리 문자열에 매개변수를 삽입합니다.
Identifier
클래스 를 특수 문자(예: 공백 또는 마침표)가 포함된 테이블 또는 필드 이름을 나타내는 데 사용하면 안 됩니다. 이러한 이름에는 AsIs
클래스를 대신 사용해야 합니다. 그러나 AsIs
클래스는 더 이상 사용되지 않으므로 가능하면 피해야 합니다.
위 내용은 psycopg2에서 동적 테이블 이름을 매개변수로 어떻게 전달할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!