《Python程序设计与算法基础教程》课件(含思政案例) Ch16 数据库访问_第1页
《Python程序设计与算法基础教程》课件(含思政案例) Ch16 数据库访问_第2页
《Python程序设计与算法基础教程》课件(含思政案例) Ch16 数据库访问_第3页
《Python程序设计与算法基础教程》课件(含思政案例) Ch16 数据库访问_第4页
《Python程序设计与算法基础教程》课件(含思政案例) Ch16 数据库访问_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

Ch16数据库访问本章要点:16.1数据库基础16.2Python数据库访问模块16.3使用sqlite3模块连接和操作SQLite数据库16.4使用SQLiteStudio查看和维护SQLite数据库资源下载提示2课件等资源:扫描封底的“课件下载”二维码,在公众号“书圈”中下载。素材(源码):扫描本书目录上方的二维码下载。讲解视频:扫描封底刮刮卡中的二维码,再扫描书中相应章节中(位于每章最前)的二维码,作为开源的补充阅读和学习资源。

案例研究:扫描封底刮刮卡中的二维码,再扫描书中相应章节中(位于每章最后)的二维码,可以在线学习。每章练习题:扫描封底刮刮卡中的二维码,再扫描每章习题部分的二维码,下载本章练习题电子版。

题库平台:教师登录网站(),联系客服开通教师权限数据库基础数据库存储数据的仓库,即存储在计算机系统中结构化的、可共享的相关数据的集合数据库管理系统(DatabaseManagementSystem,DBMS)用于管理数据的计算机软件定义数据、操作数据以及维护数据目前流行的数据库管理系统产品适合于企业用户的网络版DBMS:如Oracle、MicrosoftSQLServer、IBMDB2等适合于个人用户的桌面DBMS:如MicrosoftAccess等数据库系统(DatabaseSystem,DBS)计算机硬件、操作系统、DBMS、开发工具、应用系统、数据库管理员(DatabaseAdministrator,DBA)、用户关系数据库常用的数据库模型层次模型(HierarchicalModel)、网状模型(NetworkModel)、关系模型(RelationalModel)和面向对象的数据模型(ObjectOrientedModel)一对一:如一个部门只能有一个经理,而一个经理只能在一个部门任职,部门和经理为一对一的联系。一对多:如一个部门有多名员工,而一名员工只能在一个部门工作,部门和员工为一对多的联系。多对多:如一名学生可以选修多门课程,而一门课程可以有多名选修的学生,学生和课程是多对多的联系。关系数据库关系模型世界由实体(Entity)和联系(Relationship)构成三种联系数据库中的表行(Row)列(Column)主关键字(PrimaryKey)用于唯一确定一条记录Python数据库访问模块通用数据库访问模块:ODBC&JDBC专用数据库访问模块:

表16-1SQLite数据库和sqlite3模块SQLite是一款开源的轻型的数据库SQLite支持的数据类型包括:NULL、INTEGER、REAL、TEXT和BLOB,分别对应Python的数据类型:None、int、float、str和bytessqlite3模块提供访问和操作数据库sqlite的各种功能使用sqlite3模块连接和操作SQLite数据库1.导入相应的数据库模块2.建立数据库连接,返回Connection对象3.创建游标对象cur4.使用Cursor对象的execute执行SQL命令返回结果5.获取游标的查询结果集6.数据库的提交和回滚7.关闭Cursor对象和Connection对象数据库操作(1)【例16.1】创建数据库和表。创建数据库sales,并在其中创建表region,表中包含两个列:id和name,其中id为主码(primarykey)importsqlite3#创建SQLite数据库:c:\Pythonpa\ch16\sales.dbcon=sqlite3.connect(r"c:\Pythonpa\ch16\sales.db")#创建表regions,包含两个列,id(主码)和namecon.execute("createtableregion(idprimarykey,name)")数据库操作(2)【例16.2】数据库表记录的插入、更新和删除操作示例importsqlite3regions=[("021","上海"),('022',"天津"),("023","重庆"),("024","沈阳")]#打开SQLite数据库:c:\Pythonpa\ch16\sales.dbcon=sqlite3.connect(r"c:\Pythonpa\ch16\sales.db")#使用不同的方法分别插入一行数据con.execute("insertintoregion(id,name)values('020','广东')")con.execute("insertintoregion(id,name)values(?,?)",('001','北京'))#插入多行数据con.executemany("insertintoregion(id,name)values(?,?)",regions)#修改一行数据con.execute("updateregionsetname=?whereid=?",('广州','020'))#删除一行数据n=con.execute("deletefromregionwhereid=?",("024",))print('删除了',n.rowcount,'行记录')mit()#提交con.close()#关闭数据库数据库操作(3)【例16.3】查询数据表中的记录信息importsqlite3#打开SQLite数据库:c:\Pythonpa\ch16\sales.dbcon=sqlite3.connect(r"c:\Pythonpa\ch16\sales.db")#查询数据库表的记录内容cur=con.execute("selectid,namefromregion")forrowincur:#循环输出结果print(row)使用SQLiteStudio查看和维护SQLite数据库使用SQLite可视化工具,可以方便查看程序运行后更新数据库的结果【例16.4】下载、安装和使用SQLiteStudio.exe(1)下载SQLiteStudio。在浏览器中输入SQLiteStudio官网地址https://sqlitestudio.pl/,下载最新版本(sqlitestudio-3.1.1.zip)。(2)运行SQLiteStudio。解压缩下载的文件到本地任何目录下,双击运行解压缩的程序SQLiteStudio.exe,打开SQLiteStudio。(3)打开数据库。按快捷键“Ctrl+O”,选择打开数据“c:\pythonpa\d\DB\jwxt.db”,查看数据库中表的结构,或者查看表的数据本章小结实验和习题实例16.1~实例16.4复习题单选题填空题思考题案例研究1:基于数据库和GUI的教务管理系统本章案例研究图形用户界面的教务管理系统的设计与实现,帮助读者深入了解使用wxPython和数据库开发图形用户界面的数据库应用程序的思维和流程案例研究的解题思路和源代码等以电子版形式提供,具体请扫描教程中的二维码系统总体设计基于数据库的GUI教务管理系统包括三种类型的用户:教务员、教师和学生。只有登录用户才能够使用该系统提供的功能。系统根据登录用户的权限,自动区分用户身份,并显示相应的功能菜单页面数据库设计(1)用户信息表(UserInfo)。用户表用于储存系统用户信息(2)课程信息表(Course)。课程信息表用于储存课程信息(3)教学班信息表(JXB)。教学班信息表用于储存开课信息(4)学生成绩表(Grads)。学生成绩表用于储存各教学班的选课学生及其成绩功能模块设计(1)所有用户都可以使用“系统”和“帮助”菜单。包括“重新登录”(ui_login.py,重新登录)、“修改密码”(ui_change_password.py,修改密码)、“退出系统”(2)教务员角色可以使用“教务”菜单,包括“用户管理”(ui_user.py,管理用户信息)、“课程管理”(ui_course.py,管理课程信息)、“开课计划”(ui_jxb.py,管理开课计划,即教学班)(3)学生角色可以使用“学生”菜单,包括“学生选课”(ui_student.py,查看、选课或退选课程)(4)教师角色可以使用“教师”菜单,包括“成绩登录”(ui_teacher.py,查看所教授的教学班信息和登录学生成绩)教务管理系统的功能模块及执行流程数据模块API设计及实现(1)数据模块API设计及实现(2)【例CS17.1】教务管理系统数据模块data.py的实现【例CS17.2】教务管理系统登录模块ui_login.py的实现【例CS17.3】教务管理系统主界面模块ui_main.py的实现【例CS17.4】教务管理系统修改密码模块ui_change_password.py的实现【例CS17.5】教务管理系统用户管理模块ui_user.py的实现【例CS17.6】教务管理系统课程管理模块ui_course.py的实现【例CS17.7】教务管理系统开课计划模块ui_jxb.py的实现【例CS17.8】教务管理系统学生选课管理模块ui_student.py的实现【例CS17.9】教务管理系统教师登录成绩模块ui_teacher.py的实现【例CS17.10】教务管理系统主模块jwxt_main.py的实现教务管理系统的实现教务管理系统的实现界面(1)教务管理系统的实现界面(2)教务管理系统的实现界面(3)案例研究2:基于MySQL的库存管理系统本章的案例研究2帮助读者深入了解开发数据库应用程序的思维和流程本章第二个案例研究使用面向对象和MySQL数据库技术,重构第10章“基于模块的库存管理系统”的案例研究,帮助读者深入了解基于MySQL的Python应用程序开发流程案例研究的解题思路和源代码等以电子版形式提供,具体请扫描教程中的二维码库存管理系统数据库设计(1)产品信息(Products)。产品信息表用于储存产品信息(2)货架位置(Locations)。货架位置表用于仓库中的货架位置(3)商品库存信息表(Items)。商品库存信息表用于商品信息(货架上的产品)库存管理系统API设计库存管理系统设计为三个模块文件,即data.py、ui.py和main.py库存管理系统data.py负责数据的管理,其中定义了一个类LogisticsDB,包含创建数据库连接、查询数据库表记录、插入数据库表记录、删除数据库表记录的方法库存管理系统ui.py负责用户界面交互主模块main.py导入data和ui模块库存管理系统的功能设计(1)增加产品信息(2)产品信息报表(3)增加货架位置(4)货架位置报表(5)商品入库管理(6)商品出库管理(7)商品库存信息报表主模块main.py的实现主模块导入data和ui模块在main.py中,定义main()函数,首先创建数据库对象db=data.LogisticsDB(),用于处理MySQL数据库操作。然后在无限循环中,调用mpt_for_action()显示功能菜单,接受用户输入,并根据用户的功能选择,实现各模块相应功能【例CS21.1】库存管理系统主模块main.py用户界面交互模块ui.py的实现用户界面交互模块导入data模块【例CS21.2】库存管理系统用户界面

温馨提示

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

评论

0/150

提交评论