Maison >base de données >tutoriel mysql >Comment puis-je utiliser la clause VALUES de SQLAlchemy pour construire des requêtes au-delà des instructions INSERT ?

Comment puis-je utiliser la clause VALUES de SQLAlchemy pour construire des requêtes au-delà des instructions INSERT ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-25 12:44:18315parcourir

How Can I Use SQLAlchemy's VALUES Clause to Construct Queries Beyond INSERT Statements?

Travailler avec la clause VALUES dans SQLAlchemy

La clause VALUES peut être un outil utile pour construire des requêtes dans divers systèmes de bases de données. Cependant, la documentation de SQLAlchemy mentionne principalement son utilisation en conjonction avec l'instruction INSERT.

Création d'une expression VALUES

Pour remédier à cette limitation, SQLAlchemy offre désormais la possibilité de construire des objets Query qui intègrent la clause VALUES. . Cette fonctionnalité ressemble beaucoup à la syntaxe SQL classique :

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

Dans SQLAlchemy, vous pouvez obtenir le même résultat en utilisant le code suivant :

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

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

Ce code génère une sous-requête qui sélectionne toutes les colonnes à partir d'une table virtuelle (fournie par l'expression VALUES) nommée 'sq'.

Mises en garde et Ressources

Il est à noter que cette fonctionnalité n'est pas encore entièrement documentée. Cependant, pour une exploration plus approfondie, vous pouvez vous référer aux cas de test disponibles sur :

https://github.com/sqlalchemy/sqlalchemy/blob/master/test/sql/test_values.py

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