- SQLAlchemy 教程
- SQLAlchemy - 首頁
- SQLAlchemy - 簡介
- SQLAlchemy Core
- 表示式語言
- 連線資料庫
- 建立表
- SQL 表示式
- 執行表示式
- 選擇行
- 使用文字SQL
- 使用別名
- 使用 UPDATE 表示式
- 使用 DELETE 表示式
- 使用多個表
- 使用多表更新
- 引數有序更新
- 多表刪除
- 使用連線
- 使用連線詞
- 使用函式
- 使用集合操作
- SQLAlchemy ORM
- 宣告對映
- 建立會話
- 新增物件
- 使用查詢
- 更新物件
- 應用過濾器
- 過濾器運算子
- 返回列表和標量
- 文字SQL
- 構建關係
- 處理相關物件
- 處理連線
- 常見關係運算子
- 急切載入
- 刪除相關物件
- 多對多關係
- 方言
- SQLAlchemy 有用資源
- SQLAlchemy - 快速指南
- SQLAlchemy - 有用資源
- SQLAlchemy - 討論
SQLAlchemy Core - 使用別名
SQL 中的別名對應於表的“重新命名”版本或 SELECT 語句,只要你說“SELECT * FROM table1 AS a”就會發生這種情況。AS 為表建立了一個新名稱。別名允許任何表或子查詢都以唯一的名稱引用。
對於表,這允許在 FROM 子句中多次命名同一個表。它為語句表示的列提供了一個父名稱,允許相對於此名稱引用它們。
在 SQLAlchemy 中,任何 Table、select() 結構或其他可選擇物件都可以使用From Clause.alias()方法轉換為別名,該方法會生成一個 Alias 結構。sqlalchemy.sql 模組中的 alias() 函式表示別名,通常使用 AS 關鍵字應用於 SQL 語句中的任何表或子選擇。
from sqlalchemy.sql import alias
st = students.alias("a")
此別名現在可以在 select() 結構中用於引用 students 表 -
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')]
廣告