《数据可视化技术》 课件 16 招生数据增删改查操作_第1页
《数据可视化技术》 课件 16 招生数据增删改查操作_第2页
《数据可视化技术》 课件 16 招生数据增删改查操作_第3页
《数据可视化技术》 课件 16 招生数据增删改查操作_第4页
《数据可视化技术》 课件 16 招生数据增删改查操作_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《数据可视化技术》单元16招生数据增删改查操作01准备活动点名、复习本次课学习内容、学习目标介绍学习内容任务:招生数据增删改查:为了方便查询学校各二级学院历年招生数据,需要将招生数据保存在数据库中。二级学院包括机械学院、电气学院、汽车学院、信息学院、经贸学院,需要存储它们的数据到MySQL数据库中,并使用Flask实现查询、新增、删除、修改等操作,实现招生数据的对比和管理本单元学习Flask操作数据库,对数据库进行增删改查操作。任务1、Flask获取请求对象参数任务2、使用Flask创建表映射任务3、使用Flask对数据添删改查学习目标1、知识(1)了解Flask获取请求参数的方法(2)掌握Flask创建表模型的方法(3)掌握Flask对数据库增删改查2、技能(1)能够使用Flask获取请求对象参数(2)能够使用Flask创建表映射(3)能够使用Flask对数据添删改查3、素养(1)严谨认真、代码规范;(2)数据安全、爱国精神;(3)信息检索能力02发展活动任务分析、任务资讯、演示讲解、任务实施任务实施1、教师讲解

Flask连接MySQL数据库、创建表映射

Flask操纵数据库2、学生讨论(1)Flask怎样连接MySQL?(2)什么是FlaskSQLAlchemy的表映射?3、明确任务(1)Flask获取请求对象参数(2)使用Flask创建表映射(3)使用Flask对数据添删改查任务资讯1、FlaskSQLAlchemy数据库是按照一定规则保存程序数据,程序再发起查询取回所需的数据,Web程序最常用基于关系模型的数据库,这种数据库也称为SQL数据库(关系型数据库),关系型数据库把数据存储在表中,表模拟程序中不同的实体。如下所示:表的列数是固定的,行数是可变的,列定义表所示的实体的数据属性。表中的行定义各列对应的真实数据。ORM全称ObjectRelationalMapping,中文意为对象-关系映射。其实它就是模型对象的概念把数据库的信息映射称一个个对象来操作。而不需要写SQL语句,简单来说就是面向对象编程。IDUserEmailPassword1张三zhangsan@163.com1234562李四lisi@163.com654321任务资讯2、Flask操作数据库Flask中的SQLAlchemy就是一个ORM框架,它依赖于pymysql,使用关系对象映射对数据库进行操作。Flask操作数据库主要步骤如下:安装依赖库。当我们使用Flask进行数据开发时,需要安装一些相应的依赖库mysqlclient、flask_sqlalchemy、pymysql连接数据库创建模型与表的映射数据库的增删改查等操作任务资讯(1)Flask连接数据库任务资讯(2)创建模型类,关联数据库中的表如要关联数据库中的users表db.Model:创建模型db.Column:创建模型属性可进入MySQL中“flask_table”数据库,查看是否存在“users”表先使用SQLAlchemy加载app并创建db实例,再创建模型类,关联数据库中的表users,id、name、email、pswd、role_id分别对应users表的字段,db.Column表示列名,db.Integer表示该字段为整型数据,db.String表示该字段为字符串数据。这些字段需要设置一个主键。任务资讯(3)增、删、改、查参考网址:/Mixtea/p/10678594.html在Flask-SQLAlchemy中,插入、修改、删除操作,均由数据库会话管理。*会话用db.session表示。在准备把数据写入数据库前,要先将数据添加到会话中然后调用commit()方法提交会话。db.session.add(role):添加到数据库的session中db.session.add_all([role1,role2]):添加多个信息到session中mit():提交数据库的修改(包括增、改、删)db.session.rollback():数据库的回滚操作db.session.delete():删除数据库任务资讯(3)创建/删除表创建表需要先创建表模型类,再执行db.create_all()命令,表示创建模型类对应的表。可以在执行创建表命令之前,使用db.drop_all()删除所有的表。任务资讯(4)插入数据要插入一条数据,可用模型类User创建实例(对应一条记录),加载列属性,再将该实例加入session事务,执行该事务,代码如下:要一次插入多条数据,则可先创建多个实例,再添加所有实例到session事务,执行该事务,代码如下:任务资讯(5)查询数据通过模型类的query方法可以实现数据查询。1)filter_by精确查询。如要查询名称为chen的所有记录信息,代码如下:User.query.filter_by(name='chen').all()其中all()返回查询到的所有对象,可以使用first()返回查询到的第一个对象。2)filter模糊查询。如要返回名字结尾字符为n的所有数据,代码如下:User.query.filter(U.endswith('n')).all()3)get()查询。通过get(),将其参数设置为主键,可以得到主键对应的记录。如果主键不存在,则没有返回内容。User.query.get(1)可以查询主键值为1的记录。任务资讯(5)查询数据通过模型类的query方法可以实现数据查询。4)逻辑条件查询。①使用逻辑非条件查询,返回名字不等于“zhou”的所有数据,代码如下:User.query.filter(U!='zhou').all()②使用逻辑与条件查询,需要导入and_依赖,返回and()条件满足的所有数据,代码如下:fromsqlalchemyimportand_User.query.filter(and_(U!='chen',User.email.endswith('163.com'))).all()③使用逻辑或条件查询,需要导入or_依赖,返回or()条件满足其一的所有数据,代码如下:fromsqlalchemyimportor_User.query.filter(or_(U!='chen',User.email.endswith('163.com'))).all(任务资讯(6)删除数据

一般会结合条件查询进行数据删除。如要删除User表的第一条数据,可执行下面命令:user=User.query.first()db.session.delete(user)mit()最后可以使用User.query.all()查询所有数据,检验是否删除了第一条记录。任务资讯(7)更新数据更新数据一般也会结合条件进行更新。如要将第一条记录的姓名修改为“dong”,先查询出第一条记录,修改name列值,再执行事务,代码如下:user=User.query.first()='dong'mit()最后可以使用User.query.first()检验是否修改成功。任务实施本任务主要使用Flask操作MySQL数据库,创建表,将某高职院校2015—2022年招生数据插入表,对数据进行查询、修改、删除等操作,并完成Web页面数据展示。具体步骤:1.创建表提前在MySQL数据库中创建名为“enroll”的数据库。创建如下Python程序,实现项目4高校招生就业数据分析与可视化MySQL数据库中表的创建。2.插入数据创建一个函数add_tb_data(),用模型类创建8个实例,插入8条记录。3.将机械学院招生数(mechanics)大于1000,或者经贸学院招生数(economy)小于500的记#录删除。4.查询数据并通过Web页面展示查询出所有数据,通过渲染模板将数据传递到网页中去。网页通过Jinja语句获取后端传递过来的数据03整合活动总结、知识点梳理学习总结拓展任务1、在前面Flask操作数据库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论