zoukankan      html  css  js  c++  java
  • sqlalchemy简单示例

    1、初始化数据库database.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # Created by miaoshuijian on 2017/3/13
    
    from sqlalchemy import create_engine, MetaData
    from sqlalchemy.orm import scoped_session, sessionmaker
    # print MOIRAI_DB_CONNECT_STRING
    engine = create_engine('mysql+pymysql://root:@127.0.0.1:3306/secdev?charset=utf8')
    metadata = MetaData()
    db_session = scoped_session(sessionmaker(autocommit=False,
                                             autoflush=False,
                                             bind=engine))
    def init_db():
        metadata.create_all(bind=engine)
    
    def shutdown_session(exception=None):
        db_session.remove()

    2、

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # Created by miaoshuijian on 2017/3/13
    
    from sqlalchemy import Table, Column, Integer, String
    from sqlalchemy.orm import mapper
    from database import metadata, db_session
    
    
    class User(object):
        query = db_session.query_property()
        def __init__(self, name=None, email=None):
            self.name = name
            self.email = email
        def __repr__(self):
            return '<User %r>' % (self.name)
    
    users = Table('users', metadata,
        Column('id', Integer, primary_key=True),
        Column('name', String(50), unique=False),
        Column('email', String(120), unique=False)
    )
    mapper(User, users)

    3、操作:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # Created by miaoshuijian on 2017/3/13
    
    from database import init_db, db_session, shutdown_session
    from models import User
    
    
    
    if __name__=='__main__':
        init_db()
        u = User('admin', 'admin@localhost')
        db_session.add(u)
        db_session.commit()
        print User.query.all()
        print User.query.filter(User.name == 'admin').first()
        shutdown_session()
  • 相关阅读:
    Silverlight 4中把DataGrid数据导出Excel
    C#正则的委托和lambda表达式用法
    C#简单的写日志方法
    GAE上传失败
    asp.net后台进程做定时任务
    ASP.NET页面生命周期描述
    巴士电台新版发布
    jQuery 1.51.7一些值得注意的更新
    wxPython应用心得
    Ajax保留浏览器历史的两种解决方案(Hash&Pjax)[转]
  • 原文地址:https://www.cnblogs.com/shengulong/p/6545864.html
Copyright © 2011-2022 走看看