版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二版本章要点:数据库基础Python数据库访问模块使用sqlite3模块连接和操作SQLite数据库使用SQLiteStudio查看和维护SQLite数据库第11章数据库访问基础11.1数据库基础数据库存储数据的仓库,即存储在计算机系统中结构化的、可共享的相关数据的集合数据库管理系统(DatabaseManagementSystem,DBMS)用于管理数据的计算机软件定义数据、操作数据以及维护数据目前流行的数据库管理系统产品适合于企业用户的网络版DBMS:如Oracle、MicrosoftSQLServer、IBMDB2等适合于个人用户的桌面DBMS:如MicrosoftAccess等数据库系统(DatabaseSystem,DBS)计算机硬件、操作系统、DBMS、开发工具、应用系统、数据库管理员(DatabaseAdministrator,DBA)、用户数据库模型现实世界的数据可以抽象为概念模型(ConceptualModel),也称为信息模型。信息模型可以转换为数据库模型概念模型最常用的是实体-联系(Entity-Relationship)方法。实体-联系方法把世界看作是由实体(Entity)和联系(Relationship)构成的实体是指现实世界中具有一定特征或属性并与其它实体有联系的对象,在关系模型中实体通常是以表的形式来表现。表的一行描述实体的一个实例,表的每一列描述实体的一个特征或属性联系是指实体之间的对应关系,通过联系就可以使用一个实体的信息来查找另一个实体的信息。联系可以分为以下三种E-R图E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。E-R图通常包含以下四个部分。(1)矩形框:表示实体,在框中记入实体名。(2)菱形框:表示联系,在框中记入联系名。(3)椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一条下画线。(4)连线:实体与属性之间、实体与联系之间、联系与属性之间用直线相连,并在直线上标注联系的类型常用的数据库模型层次模型(HierarchicalModel)01网状模型(NetworkModel)02关系模型(RelationalModel)03面向对象的数据模型(ObjectOrientedModel)04关系数据库关系模型世界由实体(Entity)和联系(Relationship)构成三种联系数据库中的表行(Row)列(Column)主关键字(PrimaryKey)用于唯一确定一条记录11.2Python数据库访问模块通用数据库访问模块:ODBC&JDBC专用数据库访问模块:
表17-1SQLite数据库和sqlite3模块SQLite是一款开源的轻型的数据库SQLite支持的数据类型包括:NULL、INTEGER、REAL、TEXT和BLOB,分别对应Python的数据类型:None、int、float、str和bytessqlite3模块提供访问和操作数据库sqlite的各种功能11.3使用sqlite3模块连接和操作SQLite数据库1.导入相应的数据库模块2.建立数据库连接,返回Connection对象3.创建游标对象cur4.使用Cursor对象的execute执行SQL命令返回结果5.获取游标的查询结果集6.数据库的提交和回滚7.关闭Cursor对象和Connection对象创建数据库和表【例11.1】创建数据库和表。创建数据库sales,并在其中创建表region,表中包含两个列:id和name,其中id为主码(primarykey)importsqlite3#创建SQLite数据库:c:\Pythonb\ch11\sales.dbcon=sqlite3.connect(r"c:\Pythonb\ch11\sales.db")#创建表regions,包含两个列,id(主码)和namecon.execute("createtableregion(idprimarykey,name)")数据库表的插入、更新和删除操作【例11.2】数据库表记录的插入、更新和删除操作示例importsqlite3regions=[("021","上海"),('022',"天津"),("023","重庆"),("024","沈阳")]#打开SQLite数据库:c:\Pythonpa\ch17\sales.dbcon=sqlite3.connect(r"c:\Pythonpa\ch17\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()#关闭数据库数据库和表的查询操作【例11.3】查询数据表中的记录信息importsqlite3#打开SQLite数据库:c:\Pythonb\ch11\sales.dbcon=sqlite3.connect(r"c:\Pythonb\ch11\sales.db")#查询数据库表的记录内容cur=con.execute("selectid,namefromregion")forrowincur:#循环输出结果print(row)11.4使用SQLiteStudio查看和维护SQLite数据库使用SQLite可视化工具,可以方便查看程序运行后更新数据库的结果【例11.4】下载、安装和使用SQLiteStudio.exe(1)下载SQLiteStudio。在浏览器中输入SQLiteStudio官网地址https://sqlitestudio.pl/,下载最新版本(sqlitestudio-3.4.4.zip)。(2)运行SQLiteStudio。解压缩下载的文件到本地任何目录下,双击运行解压缩的程序SQLiteStudio.exe,打开SQLiteStudio。(3)打开数据库。按快捷键“Ctrl+O”,选择打开数据“c:\pythonb\ch11\jwxt.db”,查看数据库中表的结构,或者查看表的数据复习题:
单选题填空题思考
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届湖北省武汉市江岸区七一华源中学毕业升学考试模拟卷英语卷含答案
- 河长制工作2026年上半年工作总结
- 2026年应急预案演练总结报告范文(7篇)
- 设施农业大棚隐患排查评估整治技术指南(2025年版)
- 2026年应急演练活动总结报告
- 2026届辽宁省丹东市第十四中学中考历史考前最后一卷含解析
- 2026届济宁市重点中学中考语文模拟试题含解析
- 【浙江三轮】2026年中考数学知识点·考点一遍过专题10 特殊三角形的判定与性质
- 2026届四川省广元市青川县中考英语模试卷含答案
- 2026届广东省黄埔区广附市级名校中考历史猜题卷含解析
- 2025年11月广东深圳市公办中小学招聘教师454人(编制)(公共基础知识)测试题附答案解析
- 胃食管反流常见症状及护理方法培训
- 消防交通安全培训课件下载
- 采伐安全施工技术交底
- 2025至2030全球及中国电脑游戏耳机行业项目调研及市场前景预测评估报告
- 2025长沙市望城区中小学教师招聘考试试题及答案
- 2025年高考湖北卷物理真题(原卷版)
- 2025年感术行动之围手术期感染防控试题附答案
- 财税政策解读与企业合理避税指南
- 反渗透技术施工方案书
- 《教育管理学》 陈孝彬编 (第3版)复习重点梳理笔记
评论
0/150
提交评论