SQLAlchemy教程

SQLAlchemy 别名

SQL 中的别名对应于表或 SELECT 语句的"重命名"版本,只要您说"SELECT * FROM table1 AS a",就会发生这种情况。 AS 为表创建一个新名称。别名允许通过唯一名称引用任何表或子查询。
对于表,这允许在 FROM 子句中多次命名同一个表。它为语句所表示的列提供父名称,允许相对于该名称引用它们。
在 SQLAlchemy 中,任何 Table、select() 构造或其他可选对象都可以使用 From Clause.alias() 方法转换为别名,该方法生成别名构造。 sqlalchemy.sql 模块中的 alias() 函数表示别名,通常应用于使用 AS 关键字的 SQL 语句中的任何表或子选择。
from sqlalchemy.sql import alias
st = students.alias("a")
现在可以在 select() 构造中使用此别名来引用学生表-
s = select([st]).where(st.c.id>2)
这将转换为 SQL 表达式如下-
SELECT a.id, a.name, a.lastname FROM students AS a WHERE a.id > 2
我们现在可以使用连接对象的 execute() 方法执行这个 SQL 查询。完整代码如下-
from sqlalchemy.sql import alias, select
st = students.alias("a")
s = select([st]).where(st.c.id > 2)
conn.execute(s).fetchall()
当上面的代码行被执行时,它会生成以下输出-
[(3, 'Komal', 'Bhandari'), (4, 'Abdul', 'Sattar'), (5, 'Priya', 'Rajhans')]
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4