1. 程式人生 > >Python3-sqlalchemy-orm 聯表查詢-無外鍵關系

Python3-sqlalchemy-orm 聯表查詢-無外鍵關系

.com span 返回 print nbsp 現在 col query reat

#-*-coding:utf-8-*-
#__author__ = "logan.xu"


import sqlalchemy
from sqlalchemy import create_engine,func
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String,DATE
from sqlalchemy.orm import sessionmaker

engine=create_engine("mysql+pymysql://root:12345678@localhost/news
",encoding=utf-8,echo=True) Base=declarative_base() class User(Base): __tablename__=user id=Column(Integer,primary_key=True) name=Column(String(32)) password=Column(String(64)) class Student(Base): __tablename__=student id=Column(Integer,primary_key=True) name=Column(String(32),nullable=False) register_date
=Column(DATE,nullable=False) gender=Column(String(32),nullable=False) def __repr__(self): return "<%s name:%s>" %(self.id,self.name) Base.metadata.create_all(engine) #創建表結構 Session_class=sessionmaker(bind=engine) #創建與數據庫的會話session class,註意,這裏返回給session的是這個class,不是實例 Session=Session_class() #
生成session實例 #s1=Student(name="s2",register_date="2019-01-08",gender="F") s2=Student(name="s1",register_date="2019-01-09",gender="M") Session.add(s2) #聯表查詢兩張表join-不帶外鍵關系 print(Session.query(User,Student).filter(User.id==Student.id).all()) Session.commit() #現在才統一提交,創新數據

技術分享圖片

Python3-sqlalchemy-orm 聯表查詢-無外鍵關系