Reputation: 437
This is my python code:
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 Table:poi_id,poi_name,poi_data1,poi_data2......poi_data10
I do it with existing database,but "select()" is no work..It still return total columns.
I want to get only some columns,please help me.
Upvotes: 7
Views: 11505
Reputation: 2198
Use general purpose select
instead of 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)
Upvotes: 0
Reputation: 497
here is the code that works for me:
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
Upvotes: 9