Maison >base de données >tutoriel mysql >Comment puis-je simuler une clause VALUES dans SQLAlchemy ?

Comment puis-je simuler une clause VALUES dans SQLAlchemy ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-24 18:51:20535parcourir

How Can I Simulate a VALUES Clause in SQLAlchemy?

Clause VALUES dans SQLAlchemy

Lorsque vous travaillez avec des bases de données relationnelles, la clause VALUES est souvent utilisée pour définir une table temporaire ou des données "en ligne" source dans une requête. Cela peut être utile dans divers scénarios, tels que la combinaison de données provenant de plusieurs sources ou la création d'un ensemble de données temporaire pour analyse.

Dans SQLAlchemy, la clause VALUES n'est pas prise en charge nativement de la même manière que dans les requêtes SQL directes. Cependant, il existe une solution de contournement qui vous permet d'obtenir la fonctionnalité équivalente en utilisant l'API principale de SQLAlchemy.

Créer une requête avec la clause VALUES

Pour créer une requête SQLAlchemy qui réplique la fonctionnalité de l'instruction SQL donnée :

SELECT * FROM (VALUES (1, 2, 3)) AS sq;

Vous pouvez utiliser ce qui suit code :

from sqlalchemy import select, column, Integer
from sqlalchemy.sql import Values

query = select(Values(column('Number', Integer), name='sq').data([(1,), (2,), (3,)]))

Dans ce code :

  • Values ​​est une classe SQLAlchemy Core qui représente une expression table utilisant des colonnes nommées.
  • méthode de données de l'objet Values ​​est utilisé pour remplir les données en ligne.
  • La colonne Number est définie comme un nombre entier type.
  • La source en ligne est nommée sq en utilisant l'argument name.

En exécutant cette requête, vous obtiendrez un ensemble de résultats contenant trois lignes, chacune avec une seule colonne nommée Nombre contenant respectivement les valeurs 1, 2 et 3. Il est important de noter que la clause VALUES n'est pas largement documentée dans la documentation officielle de SQLAlchemy. Cependant, vous pouvez vous référer aux cas de test sur https://github.com/sqlalchemy/sqlalchemy/blob/master/test/sql/test_values.py pour plus d'informations.

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