SQLAlchemy Dialect

>>> connection = engine.connect()

Using the connection to execute a select statement:

>>> result = connection.execute('select name from locations')
>>> result.rowcount
10

>>> result.first()
(u'Algol',)

Using the ORM to query the locations:

>>> locations = session.query(Location)
>>> [l.name for l in locations][:5]
[u'Algol', u'Folfanga', u'Aldebaran', u'Argabuthon', u'Bartledan']

With limit and offset:

>>> locations = session.query(Location).offset(1).limit(4)
>>> [l.name for l in locations]
[u'Folfanga', u'Aldebaran', u'Argabuthon', u'Bartledan']

With filter:

>>> location = session.query(Location).filter_by(name='Algol').one()
>>> location.name
u'Algol'

Order by:

>>> locations = session.query(Location).order_by(sa.desc(Location.name))
>>> locations = locations.limit(2)
>>> [l.name for l in locations]
[u'Outer Eastern Rim', u'North West Ripple']

Insert a new location:

>>> location = Location()
>>> location.name = 'Earth'
>>> location.kind = 'Planet'

>>> session.add(location)
>>> session.flush()

Currently refresh option is missing, therefore sleep for now:

>>> from time import sleep
>>> sleep(1)

Inserted location is available:

>>> location = session.query(Location).filter_by(name='Earth').one()
>>> location.name
u'Earth'