对于没有sql知识的我来说 操作数据库问题真多
Topic source#输出 User id:1,name:Ada,scores:[chinese_score=98,math_score=100] User id:2,name:Bob,scores:[chinese_score=85,math_score=78] User id:3,name:Mike,scores:[chinese_score=90,math_score=91]
- 1
#输出 User id:1,name:Ada,scores:[chinese_score=98,math_score=100] User id:2,name:Bob,scores:[chinese_score=85,math_score=78] User id:3,name:Mike,scores:[chinese_score=90,math_score=91]
南柯一梦兯
from sqlalchemy import Column,Integer,String,create_engine,ForeignKey from sqlalchemy.orm import sessionmaker,relationship from sqlalchemy.ext.declarative import declarative_base
#定义对象类指向表 Base=declarative_base() class User(Base): tablename = 'user' id = Column(Integer,primary_key=True) name = Column(String(20)) score = relationship('Score')
class Score(Base): __tablename__ = 'score' id = Column(Integer,primary_key=True) chinese_score = Column(Integer) math_score = Column(Integer) user_id = Column(Integer,ForeignKey('user.id'))
engine = create_engine('mysql+pymysql://root:@localhost:3306/test2') DBSession = sessionmaker(bind=engine)
#创建对象session session=DBSession() #创建表user 以及 带外键的表score session.execute("create table user(id int primary key,name varchar(20))") session.execute('create table score(id int primary key,chinese_score int,math_score int,user_id int,constraint id_fk foreign key(user_id) references user(id))')
#插入表值 session.add(User(id=1,name='Ada')) session.add(User(id=2,name='Bob')) session.add(User(id=3,name='Mike')) session.add(Score(id=1,chinese_score=98,math_score=100,user_id=1)) session.add(Score(id=3,chinese_score=85,math_score=78,user_id=2)) session.add(Score(id=5,chinese_score=90,math_score=91,user_id=3))
#提交 关闭 session.commit() session.close()
session=DBSession() user=session.query(User).all() try: for info in user: print(info) finally: session.close()