6、第八周 - 網絡編程進階 - Python語言下的SqlAlchemy ORM框架應用
阿新 • • 發佈:2018-08-03
() bind chan base pymysql commit 提交 輸出 echo
1、SqlAlchemy 基本結構語法如下:
案例:
from sqlalchemy import create_engine,Column,String,Integer,ForeignKey from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker,relationship import pymysql engine = create_engine("mysql+pymysql://chen:[email protected]:3306/school",encoding=‘utf-8‘,echo=True) #echo屏幕輸出信息 session_class = sessionmaker(bind=engine) #創建與數據庫的會話session class ,註意,這裏返回給session的是個class,不是實例 Base = declarative_base() #生成orm基類 class User(Base): __tablename__ = "users" #定義表名 id = Column(Integer,primary_key=True) #設置ID主鍵自增長 name = Column(String(20),nullable=False) #字符集長度 class Address(Base): __tablename__ = ‘address‘ id = Column(Integer,primary_key=True) address = Column(String(20),nullable=False) user_id = Column(Integer,ForeignKey(‘users.id‘)) #設置外鍵,格式表名.字段 user = relationship(‘User‘) Base.metadata.create_all(engine)#創建表結構 session = session_class() #生成session實例 user_obj = User(name="chenchangqing") #生成需要創建的數據對象 session.add(user_obj) #把要創建的數據對象添加到這個session裏, 一會統一創建 session.commit()#統一提交,創建數據
6、第八周 - 網絡編程進階 - Python語言下的SqlAlchemy ORM框架應用