# 添加数据
from sqlalchemy.orm import sessionmaker
from create_table_ForeignKey import engine, Student, School Session = sessionmaker(engine)
db_session = Session() # 插入数据
sch_obj = School(name='Treasure')
db_session.add(sch_obj)
db_session.commit() sch = db_session.query(School).filter(School.name == 'Treasure').first()
stu_obj = Student(name='徐建', school_id=sch.id)
db_session.add(stu_obj)
db_session.commit()
db_session.close() #2 添加数据 - 反向relationship sch_obj = School(name='TreasureShanghai')
sch_obj.sch2stu = [Student(name='徐建-上海'),
Student(name='徐建2-上海')]
db_session.add(sch_obj)
db_session.commit()
db_session.close() #3.添加数据 - 正向relationship
stu_obj = Student(name='徐建3', stu2sch=School(name='TreasreShenzhen'))
db_session.add(stu_obj)
db_session.commit()
db_session.close()

添加数据

# 修改数据
from sqlalchemy.orm import sessionmaker
from create_table_ForeignKey import engine, Student, School Session = sessionmaker(engine)
db_session = Session() sch = db_session.query(School).filter(School.name == 'TreasureShanghai').first()
db_session.query(Student).filter(Student.school_id == sch.id).delete()
db_session.commit()
db_session.close()

删除数据

# 修改数据
from sqlalchemy.orm import sessionmaker
from create_table_ForeignKey import engine, Student, School Session = sessionmaker(engine)
db_session = Session() sch = db_session.query(School).filter(School.name == 'Treasure').first()
db_session.query(Student).filter(Student.name == '徐建3').update({'school_id':sch.id})
db_session.commit()
db_session.close()

修改数据

# 查询数据
from sqlalchemy.orm import sessionmaker
from create_table_ForeignKey import engine, Student, School Session = sessionmaker(engine)
db_session = Session() # 查询数据 relationship 正向
stu = db_session.query(Student).all() for row in stu:
print(row.id, row.name, row.stu2sch.name) # 查询数据 relationship 反向
sch = db_session.query(School).all() for row in sch:
print(row.id, row.name, [i.name for i in row.sch2stu])

查询数据

SQLAlchemy的使用---外键ForeignKey数据增删改查的更多相关文章

  1. salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建

    VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载 ...

  2. 【转载】salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建

    salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建   VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的 ...

  3. C#操作Excel数据增删改查(转)

    C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...

  4. C#操作Excel数据增删改查示例

    Excel数据增删改查我们可以使用c#进行操作,首先创建ExcelDB.xlsx文件,并添加两张工作表,接下按照下面的操作步骤即可 C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文 ...

  5. SQLAlchemy基本使用,创建表,增删改查

    基础语法 创建连接 from sqlalchemy import create_engine # 写法1 engine = create_engine("postgresql://scott ...

  6. jeesite应用实战(数据增删改查),认真读完后10分钟就能开发一个模块

    jeesite配置指南(官方文档有坑,我把坑填了!)这篇文章里,我主要把jeesite官方给出的帮助文档的坑填了,按照里面的方法可以搭建起来jeesite的站点.系统可以运行以后,就可以进入开发模块了 ...

  7. MongoDB 表(集合) 创建删除、数据增删改查

    MongoDB 表(集合) 创建删除和增删改查数据 创建一个集合(emp) 在创建集合之前先使用use xxx,选择数据库,如果没有会创建(并不是真正的创建,只有在数据库里面保存集合数据之后才能够真正 ...

  8. 完成在本机远程连接HBase进行数据增删改查

    1.进行hbase与本机远程连接测试连接 1.1 修改虚拟机文件hbase-site.xml(cd/usr/local/hbase/conf)文件,把localhost换成你的虚拟机主机名字 1.2修 ...

  9. 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子

    备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...

随机推荐

  1. C# 获取类中属性注释值

    转 http://bbs.csdn.net/topics/350019800 PropertyInfo[] peroperties = typeof(TEST).GetProperties(Bindi ...

  2. 利用CountDownLatch和Semaphore测试案例

    package com.cxy; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CountDo ...

  3. Qt 学习之路 2(38):存储容器

    Qt 学习之路 2(38):存储容器 豆子 2013年1月14日 Qt 学习之路 2 38条评论 存储容器(containers)有时候也被称为集合(collections),是能够在内存中存储其它特 ...

  4. Macaca,Maven,MVC框架

    Macaca:Macaca是阿里开源的一套完整的自动化测试解决方案.同时支持PC和移动端测试,支持的语言有JS,Java,Python. Maven:java,Maven项目对象模型(POM),可以通 ...

  5. ssm裤架搭建异常: Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService' ...

  6. 关于strcmp函数的用法

    strcmp函数是在string.h库下的han函数, 具体用法如下: strcmp函数是用来比较2个字符串的函数,如srcmp(字如果符串1,字符串2),从第一个字符开始比较,如果到最后两个字符串完 ...

  7. Codeforces - 527C 平衡树维护几何

    题意:给定一个矩形\(W*H\),一共\(n\)次切割操作(水平/垂直),求每次操作后得出的最大面积 随机按tag扫CF题目找到的题,可以分别用平衡树维护割边的位置和长度(\(x/y\)各两个) 具体 ...

  8. dcoker machine

    Docker Machine是一个安装和管理 Docker 的工具, 它有自己的命令行工具:docker-machine.Docker Machine简化了Docker的安装和远程管理, 不仅可以管理 ...

  9. python--交互器,编译器

    1在写python的时候调交互器的作用 唯一作用:调试代码 2.编译器

  10. c语言3种方式实现参数传递

    学习计算机已经两年了,参数传递已经成功恶心了我两年,今天在写二叉树遍历的时候成功对此忍无可忍.本文是在阅读https://blog.csdn.net/u013097971/article/detail ...