SQLAlchemy的使用---外键ForeignKey数据增删改查
# 添加数据
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数据增删改查的更多相关文章
- salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载 ...
- 【转载】salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建 VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的 ...
- C#操作Excel数据增删改查(转)
C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...
- C#操作Excel数据增删改查示例
Excel数据增删改查我们可以使用c#进行操作,首先创建ExcelDB.xlsx文件,并添加两张工作表,接下按照下面的操作步骤即可 C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文 ...
- SQLAlchemy基本使用,创建表,增删改查
基础语法 创建连接 from sqlalchemy import create_engine # 写法1 engine = create_engine("postgresql://scott ...
- jeesite应用实战(数据增删改查),认真读完后10分钟就能开发一个模块
jeesite配置指南(官方文档有坑,我把坑填了!)这篇文章里,我主要把jeesite官方给出的帮助文档的坑填了,按照里面的方法可以搭建起来jeesite的站点.系统可以运行以后,就可以进入开发模块了 ...
- MongoDB 表(集合) 创建删除、数据增删改查
MongoDB 表(集合) 创建删除和增删改查数据 创建一个集合(emp) 在创建集合之前先使用use xxx,选择数据库,如果没有会创建(并不是真正的创建,只有在数据库里面保存集合数据之后才能够真正 ...
- 完成在本机远程连接HBase进行数据增删改查
1.进行hbase与本机远程连接测试连接 1.1 修改虚拟机文件hbase-site.xml(cd/usr/local/hbase/conf)文件,把localhost换成你的虚拟机主机名字 1.2修 ...
- 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子
备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...
随机推荐
- MyBatis配置文件mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...
- 编写可维护的Javascript纪要
第一部分: 编程风格 在大型项目开发中,因为项目可读性规范性的需要(就像<编写可维护性的Javascript>一书作者Nicholas Zakas大神所说,他们团队所有成员写出的代码就像是 ...
- 条目十四《使用reserve来避免不必要的重新分配》
条目十四<使用reserve来避免不必要的重新分配> 使用vector和string的插入元素的时候,我们是不用担心内存问题的(只要不超过容器的max_size).因为底层有分配子管理内存 ...
- linux负载均衡与性能监控
平均负载是单位时间内, 系统处于可运行状态和不可中断状态的平均进程数( 平均活跃进程数 ) 可运行状体好理解, 就是进程正在运行状态Running和可运行状态Runnable... 这里需要注意的是 ...
- django bug 与陷阱
环境:ubuntu,python3.4 1.QueryDict 陷阱 :以下语句语句是取每行的头元素,其中line应该是一个列表.问题是,line在实际运行中已经不是列表,而变成了列表中的头元素. 错 ...
- 【第九届蓝桥杯大赛决赛真题】JAVA大学C组题解
有空就会更新.... 有的题目重复了:再另一篇帖子:https://www.cnblogs.com/dgwblog/p/9090923.html 02 结果填空(满分29分) 标题:海盗与金币 12名 ...
- sharepoint_study_2
描述:向SharePoint中批量添加用户 解决:原文地址:http://bbs.winos.cn/thread-89236-1-1.html 一般情况下,要想登录SharePoint server ...
- C++ 构造函数与默认构造函数
构造函数:C++用于构建类的新对象时需要调用的函数,该函数无返回类型!(注意:是“无”! 不是空!(void)). 默认构造函数:未提供显式初始值时,用来穿件对象的构造函数. 以上是二者的定义,但是单 ...
- C# 调用键盘
首先我们说的键盘指的是:tabtip和osk.但这两个所在的位置不同,样貌也不一样 C:\Windows\System32\osk.exe C:\Program Files\Common Files\ ...
- 《STL详解》解题报告
看完发现文档缺页...... 3.5 菲波那契数 vector<int> v; v.push_back(); v.push_back(); ;i < ;++i) v.push_ba ...