Maison >base de données >tutoriel mysql >Comment puis-je récupérer la requête SQL brute et compilée à partir d'une expression SQLAlchemy ?

Comment puis-je récupérer la requête SQL brute et compilée à partir d'une expression SQLAlchemy ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-07 10:46:41261parcourir

How Can I Retrieve the Raw, Compiled SQL Query from a SQLAlchemy Expression?

Récupération de requêtes SQL brutes et compilées à partir d'expressions SQLAlchemy

L'interface de requête de SQLAlchemy fournit une abstraction puissante pour la construction de requêtes de base de données. Cependant, accéder à l'instruction SQL sous-jacente peut s'avérer difficile. Pour obtenir la requête SQL brute et compilée avec des paramètres liés, envisagez les options suivantes :

en utilisant l'argument literal_binds

La documentation suggère d'utiliser literal_binds pour imprimer une requête q avec paramètres :

print(q.statement.compile(compile_kwargs={"literal_binds": True}))

Mises en garde

  • Cette approche n'est prise en charge que pour les types de base tels que les entiers et les chaînes.
  • Si bindParam() est utilisé sans valeur prédéfinie, il n'est pas possible de le convertir en string.

Avertissement relatif à la documentation

La documentation vous avertit que vous ne devez pas utiliser cette méthode avec des données provenant de sources non fiables telles que des formulaires Web. Les mécanismes de SQLAlchemy pour convertir les valeurs Python en valeurs de chaîne SQL ne gèrent pas de manière sécurisée les données non fiables et ne vérifient pas le type de données transmises.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn