《Python程序设计基础》课件-第9章 数据库基础_第1页
《Python程序设计基础》课件-第9章 数据库基础_第2页
《Python程序设计基础》课件-第9章 数据库基础_第3页
《Python程序设计基础》课件-第9章 数据库基础_第4页
《Python程序设计基础》课件-第9章 数据库基础_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

目录CONTENT010203数据库系统概述Python内置数据库SQLite综合实例01数据库系统概述数据、数据表、数据库、数据库管理系统和数据库系统是与数据库技术密切相关的四个基本概念

MORETHENTEMPLATE数据

描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化后存入计算机。数据表一个关系数据库由若干数据表组成。数据表由行和列组成,每一行称为记录,每一列称为字段。属于某一数据库的表称为数据库表,不属于任何数据库的表称为自由表。浙江财经大学东方学院信息分院39.1.1数据库基本概念

MORETHENTEMPLATE数据库

数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库管理系统数据库管理系统是位于用户与操作系统之间的一层数据管理软件,包括数据定义、数据操纵、数据库的运行管理、数据库的建立和维护功能。浙江财经大学东方学院信息分院49.1.1数据库基本概念

MORETHENTEMPLATE数据库系统数据库系统是指在计算机系统中引入数据库后的系统,一般由计算机硬件及相关软件、数据库、数据库管理系统及用户四部分组成。浙江财经大学东方学院信息分院59.1.1数据库基本概念

MORETHENTEMPLATE人工管理阶段数据不保存应用程序管理数据数据不共享数据不具有独立性浙江财经大学东方学院信息分院69.1.2数据管理技术的产生和发展

MORETHENTEMPLATE文件系统阶段数据可以长期保存由文件系统管理数据数据共享性差,冗余度大数据独立性差

浙江财经大学东方学院信息分院79.1.2数据管理技术的产生和发展

MORETHENTEMPLATE数据库系统阶段层次模型也称树状模型,实质是一种有根结点的定向有序树。网状模型可以是任意一个连通的基本层次联系的集合。关系模型是目前最流行的一种逻辑数据模型,以二维表格来表示实体间的联系。

浙江财经大学东方学院信息分院89.1.2数据管理技术的产生和发展

MORETHENTEMPLATE大数据时代的数据管理NoSQL:一种不同与关系数据库的数据库管理系统设计方式,是对非关系型数据库的统称,支持海量数据存储,可以较好应用于大数据时代的各种数管理。NewSQL:对各种新的可扩展、高性能数据库的统称,兼具NoSQL和传统数据库的特性。云数据库:在云计算的大背景下发展起来的一种新型的共享基础架构的方法,所有数据库功能都是在云端提供,极大地增强了数据库地存储能力。

浙江财经大学东方学院信息分院99.1.2数据管理技术的产生和发展

MORETHENTEMPLATE数据结构化在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化。

数据的共享性高,冗余度低,易扩充

数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。

同时,这还使得数据库系统弹性大,易于扩充,可以适应各种用户要求。极大地增强了数据库地存储能力。

浙江财经大学东方学院信息分院109.1.3数据库系统的特点02Python

内置数据库SQLiteSQLite是一款轻型的关系型数据库管理系统,是非常著名的开源嵌入式数据库软件。1,35926778%SQLite是一款轻型的关系型数据库管理系统,是非常著名的开源嵌入式数据库软件。官方网站:。SQLite包含在一个相对小的C库中,能够支持Windows/Linux等主流的操作系统,同时能够跟很多程序语言相结合,比如Python、C#、PHP、Java等。SQLite第一个Alpha版本诞生于2000年5月,至2021年SQLite迎来了版本SQLite3的发布。浙江财经大学东方学院信息分院129.2.1SQLite基本介绍(1)创建/打开数据库,建立与数据库关联的Connection对象

如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开命令格式:Connection对象=sqlite3.connect("数据库")举例:xs=sqlite3.connect("xsgl.db")说明:创建/打开数据库xsgl.db,建立Connection对象xs。浙江财经大学东方学院信息分院139.2.2SQLite安装与使用(2)Connection对象Connection是Sqlite3模块中最基本、最重要的类。主要包含以下操作:execute(sql[,parameters]):执行一条SQL语句executemany(sql[,parameters]):使用不同参数执行多次SQL语句commit():提交当前事务

rollback():事务回滚,数据库恢复到上次调用commit()后的状态close():关闭数据库连接

cursor():创建游标对象浙江财经大学东方学院信息分院149.2.2SQLite安装与使用(3)Cursor对象Cursor对象即为游标对象,是Sqlite3模块中比较重要的对象。游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。在具体操作时,可以把游标当作一个指针,指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。浙江财经大学东方学院信息分院159.2.2SQLite安装与使用命令格式:游标=Connection.cursor()举例:cu=xs.cursor()

说明:通过Connection对象xs创建了游标对象cu游标主要包含以下操作:execute(sql[,parameters]):执行一条SQL语句

executemany(sql,seq_of_parameters):对所有给定参数执行同一条sql语句

close():关闭游标

fetchone():从结果中取一条记录,并将游标指向下一条记录

fetchmany():从结果中取多条记录

fetchall():从结果中取出所有记录

scroll():游标滚动浙江财经大学东方学院信息分院169.2.2SQLite安装与使用通过游标对象,我们可以在sqlite3中完成建表、插入数据、查询、修改、删除等多种操作。浙江财经大学东方学院信息分院179.2.3SQLite实例演示(1)创建表

命令:cu.execute("CREATETABLE学生(学号varchar(10)PRIMARYKEY,姓名varchar(30),年龄integer)")说明:创建了表“学生”,包含3列,分别是学号(长度10位的字符串)、姓名(长度30位的字符串)、年龄(整数)。(2)插入数据命令:sql="INSERTINTO学生(学号,姓名,年龄)VALUES(\"1820410101\",\"张九林\",20)"cu.execute(sql)

说明:“学生”表插入一条记录(1820410101,张九林,20)上面两句可以直接合并,写成:cu.execute(“INSERTINTO学生(学号,姓名,年龄)VALUES(\”1820410101\“,

\"张九林\",20)")

浙江财经大学东方学院信息分院189.2.3SQLite实例演示(3)查询命令:values=cu.execute("select*from学生")说明:查询“学生”表的所有记录,结果存入变量values

(4)修改命令:cu.execute("update学生set年龄=25Where姓名='张九林'")

说明:将“学生”表中姓名为“张九林”的记录年龄改为25浙江财经大学东方学院信息分院199.2.3SQLite实例演示(5)删除记录

命令:cu.execute("deletefrom学生")

说明:删除“学生”表的所有记录命令:cu.execute("deletefrom学生where姓名=’张九林’")

说明:删除“学生”表中姓名是张九林的记录(6)删除整张表

命令:cu.execute("DROPtable学生")

说明:删除“学生”表浙江财经大学东方学院信息分院209.2.3SQLite实例演示

(7)中文处理Python是unicode编码,但数据库对中文是使用GBK编码,比如姓名变量含有

中文,则需要做unicode(姓名,"gbk")处理03综合实例通过Sqlite3模块完成对学生成绩的管理。浙江财经大学东方学院信息分院22综合实例通过Sqlite3模块完成对学生成绩的管理。新建数据库xsgl.db,包含三张表xs、kc、cj,分别存储学生信息、课程信息、成绩信息。三张表的结构和记录分别如图所示:浙江财经大学东方学院信息分院23综合实例Python3.9内置数据库SQLite3基本操作步骤一般包括:连接数据库获取数据库游标确定SQL语句执行SQL提交关闭连接浙江财经大学东方学院信息分院24综合实例代码如下:浙江财经大学东方学院信息分院25综合实例浙江财经大学东方学院信息分院26综合实例如果输入记录比较多,我们可以预先把学生记录导入学生表.txt,课程记录导入课程表.txt,成绩记录导入成绩表.txt,通过txt文件产

温馨提示

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

评论

0/150

提交评论