1. 程式人生 > >6、第八周 - 網絡編程進階 - Python語言下的SqlAlchemy ORM框架應用

6、第八周 - 網絡編程進階 - Python語言下的SqlAlchemy ORM框架應用

() bind chan base pymysql commit 提交 輸出 echo

Mysql SqlAlchemy 基本步驟

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框架應用