记录SQLAlchemy的基本使用

代码

# -*- coding: utf-8 -*-


from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

from _sqlalchemy.models import Person

Base = declarative_base()


class User(Base):

    __tablename__ = 'user'

    id = Column(String(20), primary_key=True)
    name = Column(String(20))


engine = create_engine('mysql+mysqlconnector://root:@localhost:3306/demo')
DBSession = sessionmaker(bind=engine)


if __name__ == '__main__':
    session = DBSession()
    new_user = Person(first_name='David', last_name="Zeng")
    session.add(new_user)
    session.commit()
    session.close()

首先是导入declarative_base,这是我要创建的对象的基本父类,然后然后就可以创建自己的对象了,首先是创建一个engine连接,我使用的是mysql,所以我的连接链接是mysql=mysqlconnector://root:@localhost:3306/demo,其中的密码不存在是因为我本地数据库没密码,然后我用的数据库是自己创建的demo,创建了连接之后就用sqlalchemy的会话绑定这个连接,产生一个可用的和数据库的会话,具体原理后面我还得再了解一下再继续写,到这一步基本就差不多了,接下来就是自己对于对象的创建了,比如我new了一个对象,然后把这个对象通过会话进行了添加,这个时候其实还没有存到数据库,只是将这个操作放到了会话当中,只有等我commit之后才是真的被添加到数据库当中,如果session不用了,最好是close掉,防止资源的浪费。

posted @ 2019-04-08 17:28  zzy0306  阅读(153)  评论(0编辑  收藏  举报