• sqlalchemy 使用


    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import Column,Integer,String
    from sqlalchemy import Sequence
    from sqlalchemy.orm import sessionmaker
    Base=declarative_base()
    from sqlalchemy import create_engine
    engine=create_engine('sqlite:///:memory:',echo=True)
    class User(Base):
        __tablename__='users'
        id=Column(Integer,Sequence('user_id_seq'),primary_key=True)
        name=Column(String(50))
        fullname=Column(String(50))
        password=Column(String(12))
        def __init__(self,name,fullname,password):
            self.name=name
            self.fullname=fullname
            self.password=password

        def __repr__(self):
            return '' %(self.name,self.fullname,self.password)
    Base.metadata.create_all(engine)
    Session=sessionmaker(bind=engine)
    session=Session()
    #Add on user
    ed_user=User('ed','Ed Jones','edpassword')
    session.add(ed_user)
    #Retrive saved ed_user
    our_user=session.query(User).filter_by(name='ed').first()
    print 'our_user is:',our_user
    print 'our_user id is:',our_user.id
    print 'our_user is ed_user',our_user==ed_user

    #Add multiple object
    session.add_all(
        [
            User('Wendy','Wendy Williams','foobar'),
            User('Marry','Marry Contrary','xxg527'),
            User('Fred','Fred Flinstone','blah')
        ]
    )
    #Detective the dirty data
    ed_user.password='f8x902'
    print 'Dirty data',session.dirty
    #Detective the new data
    print 'New data',session.new
    #Commit data
    session.commit()
    #========Querying===============
    #Querying user instance
    for instance in session.query(User).order_by(User.id):
        print instance.name,instance.fullname
    #Querying by ORM-instrument
    for name,fullname in session.query(User.name,User.fullname):
        print name,fullname
    #Querying as a Python object
    for row in session.query(User,User.name).all():
        print row.User,row.name

    #Querying labeled
    for row in session.query(User.name.label('name_label')).all():
        print (row.name_label)
    #Querying with aliased
    from sqlalchemy.orm import aliased
    user_alias=aliased(User,name='user_alias')
    for row in session.query(user_alias,user_alias.name).all():
        print row.user_alias
    #Querying with limit and offset
    for u in session.query(User).order_by(User.id)[1:3]:
        print u
    #Qyering with filter by
    for name, in session.query(User.name).filter_by(fullname='Ed Jones'):
        print name
    #Querying with filter
    for name, in session.query(User.name).filter(User.fullname=='Ed Jones'):
        print name
    #Querying with fully generative
    for name, in session.query(User.name).filter(User.fullname=='Ed Jones').filter(User.name=='ed'):
        print name

  • 相关阅读:
    动态水母
    jquery封装的方法
    近千部最新英文读物(word 格式)及下载阅读方法
    best tanks
    System Analysic utility tools
    高级商务英语(BEC)阅读题应试指南
    “牛”人是怎样学习的
    领悟
    BEC高级商务英语考试应试技巧指南
    因特网上的英语学习资源
  • 原文地址:https://www.cnblogs.com/dlutxm/p/3044181.html
Copyright © 2020-2023  润新知