【问题标题】:how to select only some columns in SQLAlchemy?如何仅选择 SQLAlchemy 中的某些列?
【发布时间】:2012-08-08 18:29:39
【问题描述】:

这是我的 python 代码:

 cx=sqlalchemy.create_engine(u"mysql://username:password@ipaddress/database?charset=utf8")

 metadata=sqlalchemy.MetaData(cx)
 orm_obj=sqlalchemy.Table(u'I_POI',metadata,autoload=True)


 sql=orm_obj.select(u'poi_id,poi_name').where(u'poi_id>1 and poi_id>0').limit(3).offset(0)

 resultz=sql.execute()
 for i in resultz:
     print i

[DB] I_POI表:poi_id,poi_name,poi_data1,poi_data2......poi_data10

我使用现有数据库执行此操作,但“select()”不起作用..它仍然返回总列。
我只想得到一些列,请帮助我。

【问题讨论】:

    标签: python sql select sqlalchemy


    【解决方案1】:

    这是适合我的代码:

    from sqlalchemy import select
    from sqlalchemy.sql import and_
    
    results = select([orm_obj.c.poi_id, orm_obj.c.poi_name])\
        .where(and_(orm_obj.c.id > 1, orm_obj.c.id < 100)).execute()
    for id, name in results:
        print id, name
    

    【讨论】:

      【解决方案2】:

      使用通用select 而不是Table.select

      stmt = select([orm_obj.c.poi_id, orm_obj.c.poi_name]).\
      where(and_(orm_obj.c.poi_id > 1, orm_obj.c.poi_id < 100)).\
      limit(3)
      result = conn.execute(stmt) 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-18
        • 1970-01-01
        • 2017-03-23
        • 2014-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        相关资源
        最近更新 更多