"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso usar parâmetros nomeados com `conexão.execute` da SqlalChemy para consultas SQL mais seguras e legíveis?

Como posso usar parâmetros nomeados com `conexão.execute` da SqlalChemy para consultas SQL mais seguras e legíveis?

Postado em 2025-03-24
Navegar:281

How Can I Use Named Parameters with SQLAlchemy's `connection.execute` for Safer and More Readable SQL Queries?

Using Named Parameters with SQLAlchemy connection.execute

SQLAlchemy's connection.execute method enables the execution of SQL queries while transforming the results into an array of maps. Inicialmente implementado com a formatação da string para incluir parâmetros na consulta, esse método pode ser aprimorado para utilizar parâmetros nomeados para maior eficiência e segurança. Função de text () da SqlalChemy para analisar a string sql:

sql = text ("selecione usuários.fullName || ',' || endereços.email_address como título de usuários, endereços onde usuários.id = endereços.User_Id e Users.name entre: x e y e y e y e ( :: e2) ")

passa parâmetros nomeados para a função Execute ():

    conn.execute (sql, {" x ":" m "," y ":" z, "e1": "%@aol.com" e2 ": "%@msn.com"})
  1. 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)")
    benefícios dos parâmetros nomeados
  2. empregando parâmetros nomeados oferecem vários benefícios:

    conn.execute(sql, {"x": "m", "y": "z", "e1": "%@aol.com", "e2": "%@msn.com"})
Como alternativa, pode -se definir uma função para envolver a funcionalidade Execute e aceitar parâmetros nomeados como um dicionário:

def sql_to_data (sql, valores): resultado = [] conexão = mecanismo.connect () tentar: linhas = conexão.Execute (SQL, valores) ... finalmente: Connection.Close () RESULTO DE RETURNO

Com essa abordagem, as consultas podem ser executadas com:

sql = 'select ...' dados = {'user_id': 3} Resultados = SQL_TO_DATA (SQL, Data)
  • Este método permite a utilização dos parâmetros nomeados, mantendo a funcionalidade principal do código original.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3