import sqlalchemy

from sqlalchemy import create_engine

from sqlalchemy.ext.declarative import declarative_base

'''Column导入'''

from sqlalchemy import Column, String, Integer, DATE,ForeignKey

'''导入游标'''

from sqlalchemy.orm import sessionmaker,relationship

engine =create_engine("mysql+pymysql://xiaopang:521521@192.168.50.129/oldboydb",

encoding='utf-8') #可以加echo=True显示数据

'''生成orm基类'''

Base =declarative_base()

class Student(Base):

__tablename__ = 'student' # 表名

id = Column(Integer, primary_key=True)

name =Column(String(32),nullable=False)

register_date = Column(DATE, nullable=False)

def __repr__(self):

return "< %s name:%s >" % (self.id,self.name)

class StudyRecord(Base):

__tablename__ = "study_record"

id = Column(Integer, primary_key=True)

day =Column(Integer,nullable=False)

status = Column(String(32),nullable=False)

stu_id =Column(Integer,ForeignKey("student.id"))

student = relationship("Student", backref="my_study_record")

def __repr__(self):

return "< %s day:%s status:%s>" % (self.student.name,self.day,self.status)

Base.metadata.create_all(engine) # 创建表结构

Session_class=sessionmaker(bind=engine)

Session=Session_class() # 生成session实例相当于cursor游标

'''多表插入数据'''

# s1 =Student(name="goupang",register_date="2018-06-01")

# s2 =Student(name="siwanyi",register_date="2018-06-02")

# s3 =Student(name="yaosini",register_date="2018-06-03")

# s4 =Student(name="xiaopang",register_date="2018-06-04")

# study_obj1=StudyRecord(day=1,status="Yes",stu_id=1)

# study_obj2=StudyRecord(day=2,status="No",stu_id=1)

# study_obj3=StudyRecord(day=3,status="Yes",stu_id=1)

# study_obj4=StudyRecord(day=1,status="Yes",stu_id=2)

#Session.add_all([study_obj1,study_obj2,study_obj3,study_obj4])

'''多表查询'''

stu_obj=Session.query(Student).filter().first()

#调用my_study_record就是StudyRecord里面的所有属性(所有字段的数据)

print(stu_obj.my_study_record)

Session.commit()#提交

思路及过程:两个表互相取数据,通过ralationship关系连接,写到内存中

mysql sql 多选项_Mysql-Sqlalchemy-多表操作相关推荐

  1. mysql sql 多选项_mysql – SQL选择此选项可使值仅出现一次

    对于那些一直在用这个twitter-clone帮助我的人,谢谢!在你的帮助下,我成功地完成了大部分工作,最后到了追随者功能的最后几步. 现在,我有一个包含以下字段的数据集:用户名,推文,日期 数据的示 ...

  2. MySQL数据库 第5章:单表操作

    MySQL数据库 第5章:单表操作 5.1 数据操作 5.1.1 复制表结构和数据 5.1.2 解决主键冲突 5.1.3 清空数据 5.1.4 去除重复记录 5.2 排序与限量 5.2.1 排序 5. ...

  3. mysql sql语句 入门_mysql(3)mysql的sql语句入门

    1.登录mysql与退出mysql 登录:mysql  -u账号 -p密码 -h主机地址 -P端口号  -e 执行的sql语句: //密码一般不直接写出,回车后隐藏写入 ,-h可以不写默认是local ...

  4. mysql的teqcher表结构_Mysql之库表操作(胖胖老师)

    SQL 概念:结构化查询语言(SQL = Structured Query Language), 也是一种编程语言(数据库查询和程序设计语言),可以用于数据的存取及查询,更新,管理关系型数据库系统 p ...

  5. mysql sql诊断建议_MySQL诊断调优常用SQL语句

    帮忙多点点文章末右下角的"好看"支持下,也可以将本文分享到朋友圈或你身边的朋友,谢谢 在很多时候,我们需要通过SQL语句来查看MySQL执行SQL的情况,例如查看SQL执行队列,是 ...

  6. 导出mysql sql语句吗_mysql sql语句导入与导出

    mysql sql语句导入与导出 导入: mysql -u root -p 数据库名 如: C:/mysql/bin>mysql -u root -p house < c:/1-1.txt ...

  7. mysql sql优化书籍_MySQL SQL优化的正确姿势

    大家好,我是知数堂SQL 优化班老师 网名:骑龟的兔子 已经很久没写文章了 今天分享一篇优化SQL 案例 slow query 里有如下 SQL 看下执行计划如下 从执行计划可以看出C表全表扫描了 那 ...

  8. mysql字段约束_mysql数据库之表操作及字段约束条件

    一.存储引擎 二.表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 id name age sex 1 li 12 male 2 liu ...

  9. mysql做关系型数据库_MySQL关系型数据库基础操作

    MySQL基础 一.MySQL常用数据类型 1.常用数值类型(INT,DOUBLE,FLOAT) ① int 或者 integer 类型: 大小(字节):4字节: 范围: (有符号: -2147483 ...

  10. mysql drop table 慢_MYSQL缓慢的droptable操作_MySQL

    大家都知道,Ext3并不是最有效的文件系统,例如,删除文件会非常缓慢(那真是一个痛苦的过程,不是吗老兄?),造成大量的随机I / O.然而事实上,有时候它比你想象的更能影响MySQL的性能.那么,什么 ...

最新文章

  1. 生命科学数据与互联网数据一样已被公认为大数据
  2. 引入sentinel后,json转化异常
  3. uoj22 外星人(dp)
  4. 干货:RabbitMQ消息队列基本原理介绍
  5. PHP笔记-商品价格例子
  6. java赋值父类_java新手求助super和set给父类赋值!
  7. TortoiseGit客户端安装及使用(上传代码到git@osc
  8. STM32读取伺服电机编码器信号
  9. Web前端工程师修炼之道(原书第4版) 中文pdf扫描版
  10. VLC帮助文档-中文详细版(vlc-2.2.6)
  11. [java编程题]打印指定年指定月份的日历
  12. Routing Congestion
  13. 逍遥安卓模拟器卡android,逍遥模拟器不流畅解决方法 逍遥安卓模拟器怎么设置不卡...
  14. Java学习之路-数字和日期处理
  15. MJKDZ PS2手柄控制OskarBot小车(一):Arduino串口发送数据
  16. 傅里叶变换和拉普拉斯变换的物理解释及区别
  17. 商用短链平台_第8章_ 账号微服务注册模块+短信验证码+阿里云OSS开发实战
  18. 写给通信年轻人的27个忠告
  19. 华为手机相册怎么镜像翻转_屏幕镜像怎么用?搭配这款软件,苹果手机投屏一点也不难...
  20. java 重新安装_Java卸载后无法重新安装 提示已安装过

热门文章

  1. Web开发面临的挑战主要有哪些?
  2. Linux memcache操作命令
  3. WPF布局控件AvalonDock介绍以及应用中遇到的一个问题
  4. 免费获取Silverlight Stream Service Account
  5. “System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。
  6. Diy页面服务端渲染解决方案
  7. 解决window.open被拦截问题
  8. 【报告分享】华为2019年财报.pdf(附下载链接)
  9. 【报告分享】智能时代的商业地产数字变革与发展报告.pdf(附下载链接)
  10. 【报告分享】2019双11洞察报告资料包(含6大权威报告下载链接)