前言:ORM中的两种创建方式

  数据库优先:指的是先创建数据库,包括表和字段的建立,然后根据数据库生成ORM的代码,它是先创建数据库,再创建相关程序代码

  代码优先:就是先写代码,然后根据代码去生成数据库结构。

  代码优先创建数据库的本质:拿到类-->转换成table对象, 然后根据table对象生成sql语句--> 生成数据库表结构

 

SQLalchemy联表操作

一对多

# 表结构
class Group(Base): # 一对多的表,组中可能包含多个用户 __tablename__ = 'group' nid = Column(Integer, primary_key=True, autoincrement=True) caption = Column(String(32)) class User(Base): __tablename__ = 'user' uid = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(32)) gid = Column(Integer, ForeignKey('group.nid'))
# 创建完表之后,建立连接
Session = sessionmaker(bind=engine)
session = Session()

新增Group表数据
session.add_all([
    Group(caption='DBA'),
    Group(caption='SA'),
    ]
)
session.commit()
session.add(Group(caption='QA'))
新建User表数据
session.add_all([
    User(name='Bob', gid=1),
    User(name='Boss', gid=2),
    ]
)
session.commit()
user表和group表中插入数据

相关文章: