SQLAlchemy에서 명명된 매개변수 사용 Connection.execute
SQLAlchemy의 Connection.execute 메소드를 사용하면 결과를 배열로 변환하면서 SQL 쿼리를 실행할 수 있습니다. 지도의. 처음에는 쿼리에 매개변수를 포함하기 위해 문자열 형식으로 구현되었으나 효율성과 보안을 높이기 위해 명명된 매개변수를 활용하도록 이 방법을 향상할 수 있습니다.
프로시저 수정
수정하려면 명명된 매개변수를 허용하는 코드를 사용하려면 다음 단계를 수행할 수 있습니다.
SQLAlchemy 활용 SQL 문자열을 구문 분석하는 text() 함수:
sql = text("SELECT users.fullname || ', ' || addresses.email_address AS title FROM users, addresses WHERE users.id = addresses.user_id AND users.name BETWEEN :x AND :y AND (addresses.email_address LIKE :e1 OR addresses.email_address LIKE :e2)")
이름이 지정된 매개 변수를 실행() 함수에 전달:
conn.execute(sql, {"x": "m", "y": "z", "e1": "%@aol.com", "e2": "%@msn.com"})
명명된 매개변수의 이점
명명된 매개변수 사용 여러 가지 이점을 제공합니다.
대체 접근 방식
또는 실행 기능을 래핑하고 명명된 매개변수를 사전으로 허용하는 함수를 정의할 수 있습니다. :
def sql_to_data(sql, values): result = [] connection = engine.connect() try: rows = connection.execute(sql, values) ... finally: connection.close() return result
이 접근 방식을 사용하면 쿼리를 실행할 수 있습니다. with:
sql = 'SELECT ...' data = {'user_id': 3} results = sql_to_data(sql, data)
이 방법을 사용하면 원본 코드의 핵심 기능을 유지하면서 명명된 매개변수를 활용할 수 있습니다.
위 내용은 보다 안전하고 읽기 쉬운 SQL 쿼리를 위해 SQLAlchemy의 `connection.execute`와 함께 명명된 매개 변수를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!