当前位置:  开发笔记 > 编程语言 > 正文

SQLAlchemy中的SELECT*?

如何解决《SQLAlchemy中的SELECT*?》经验,为你挑选了5个好方法。

SELECT *在SQLAlchemy中可以做到吗?

具体来说,SELECT * WHERE foo=1



1> Ali Afshar..:

今天没有人感受到SQLALchemy的ORM爱好吗?所提供的答案正确描述了SQLAlchemy提供的低级接口.为了完整性,这是更可能(对我而言)现实世界的情况,其中有一个会话实例和一个orm映射到users表的User类.

for user in session.query(User).filter_by(name='jack'):
     print user
     # ...

这会在所有列上进行显式选择.



2> Ryne Everett..:

以下选择适用于核心表达式语言(返回RowProxy对象):

foo_col = sqlalchemy.sql.column('foo')
s = sqlalchemy.sql.select(['*']).where(foo_col == 1)


嗯..这对我不起作用,但用'[sqlalchemy.text('*')]替换`['*']``.

3> adam..:

其中Bar是映射到您的表的类,session是您的会话:

bars = session.query(Bar).filter(Bar.foo == 1)



4> S.Lott..:

如果您没有列出任何列,则可以获得所有列.

query = users.select()
query = query.where(users.c.name=='jack')
result = conn.execute(query)
for row in result:
    print row

应该管用.



5> Fernando Fre..:

您也可以始终使用原始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()

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有