In [1]:
import sqlalchemy

In [1]:
from sqlalchemy import *

db = create_engine('sqlite:///tutorial.db')

db.echo = False  # Try changing this to True and see what happens

metadata = BoundMetaData(db)

users = Table('users', metadata,
    Column('user_id', Integer, primary_key=True),
    Column('name', String(40)),
    Column('age', Integer),
    Column('password', String),
)
users.create()

i = users.insert()
i.execute(name='Mary', age=30, password='secret')
i.execute({'name': 'John', 'age': 42},
          {'name': 'Susan', 'age': 57},
          {'name': 'Carl', 'age': 33})

s = users.select()
rs = s.execute()

row = rs.fetchone()
print('Id:', row[0])
print('Name:', row['name'])
print('Age:', row.age)
print('Password:', row[users.c.password])

for row in rs:
    print(row.name, 'is', row.age, 'years old')


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-cbb89ddbf880> in <module>()
      5 db.echo = False  # Try changing this to True and see what happens
      6 
----> 7 metadata = BoundMetaData(db)
      8 
      9 users = Table('users', metadata,

NameError: name 'BoundMetaData' is not defined

In [ ]: