我正在学习SQL炼金术并通过Expression Language Tutorial。我非常喜欢生成选择,因为我可以使用表反射,然后使用Table类方法轻松查询表。这就是我现在正在做的事情。
from sqlalchemy import Table, create_engine, MetaData
engine = create_engine('mysql://...')
meta.bind = engine
table = Table('footable', meta, autoload=True)
result = table.select().where(...).execute()
之前我写了很多选择,我总是选择我需要的特定列而不是全部选择。有没有办法指定在我的SQL炼金术选择中返回哪些列?
答案 0 :(得分:1)
详细了解文档中的select(),特别是前两个参数 但以下应该是您工作的正确方向:
from sqlalchemy.sql import select, and_, or_, not_
# ...
query = select(# what to select (tables or columns)
[table.c.column1, table.c.column2],
# filters (use any expression using and_, or_, not_...
and_(table.c.column1.like("j%")),
)
result = query.execute()