记录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掉,防止资源的浪费。mysql

相关文章
相关标签/搜索