http://blog.csdn.net/xluren/article/details/9170431
继续之前的博客,过去一年了,说出来的东西要做到的。
1.创建引擎;
2.创建metadata(绑定引擎,也可以在第四步绑定);
3.创建定义table
4.创建表(如果第二步没有绑定引擎,此处需要绑定引擎)
下面的代码演示了创建表的两种形式,先后绑定引擎
from sqlalchemy.engine import create_engine from sqlalchemy import schema, types #metadata test one################################# engine=create_engine("sqlite:///hello.db",echo=True) metadata = schema.MetaData(engine) page_table = schema.Table('page', metadata, schema.Column('id', types.Integer, primary_key=True), schema.Column('name', types.Unicode(255), default=u''), schema.Column('title', types.Unicode(255), default=u'Untitled Page'), schema.Column('content', types.Text(), default=u''), ) try: metadata.create_all(checkfirst=False) except: print "table exist" #metadata test two with bind metadata=schema.MetaData() artical_table=schema.Table("artical",metadata, schema.Column("id",types.Integer,primary_key=True), schema.Column("name",types.Unicode(255),default=u'hello'), schema.Column("title",types.Unicode(255),default=u'world'), schema.Column('content',types.TEXT(),default=u'kong'), ) metadata.create_all(bind=engine,checkfirst=True) ################################################有个地方是checkfirst=true,会检查表是否存在,如果表不存在的话就创建,如果表存在那么就会忽略创建语句,不报错。