# -*- 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