sqlalchemy整理(一)

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,会检查表是否存在,如果表不存在的话就创建,如果表存在那么就会忽略创建语句,不报错。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值