SELECT *
在SQLAlchemy中可以做到吗?
具体来说,SELECT * WHERE foo=1
?
今天没有人感受到SQLALchemy的ORM爱好吗?所提供的答案正确描述了SQLAlchemy提供的低级接口.为了完整性,这是更可能(对我而言)现实世界的情况,其中有一个会话实例和一个orm映射到users表的User类.
for user in session.query(User).filter_by(name='jack'): print user # ...
这会在所有列上进行显式选择.
以下选择适用于核心表达式语言(返回RowProxy对象):
foo_col = sqlalchemy.sql.column('foo') s = sqlalchemy.sql.select(['*']).where(foo_col == 1)
其中Bar是映射到您的表的类,session是您的会话:
bars = session.query(Bar).filter(Bar.foo == 1)
如果您没有列出任何列,则可以获得所有列.
query = users.select() query = query.where(users.c.name=='jack') result = conn.execute(query) for row in result: print row
应该管用.
您也可以始终使用原始SQL:
str_sql = sql.text("YOUR STRING SQL") #if you have some args: args = { 'myarg1': yourarg1 'myarg2': yourarg2} #then call the execute method from your connection results = conn.execute(str_sql,args).fetchall()