内容正文:
任务8.1 SQLite数据库操作
学生信息管理系统设计
同学们,大家好,欢迎大家来到本课程第8章的学习。在学习开始前,我们先对这章的学习内容给大家作一个简要的介绍。
1
8.1 SQLite数据库操作——学生信息管理系统设计
【任务描述】
编写学生信息管理系统,需要通过Python连接数据库,来实现学生信息的存储、读取、查找、修改等功能。
8.1 SQLite数据库操作——学生信息管理系统设计
【任务分析】
根据任务需求,对数据库系统进行读写操作,实现对SQLite数据库的访问。
(1)建立数据库连接。
(2)通过执行SQL语句,完成对数据的操作。
(3)系统采用模块化设计,根据不同功能细分多个模块。
8.1 SQLite数据库操作——学生信息管理系统设计
Python应用程序
Python DB API
MySQL
Oracle
SQL Server
Python DB API:Python访问数据库的统一接口规范。
Python访问SQLite数据库,可以通过sqlite3模块实现。
Python不能直接对数据库进行连接和操作,必须遵循相应的规则,通过对应的数据库驱动程序,才能连接数据。在python中,客户端连接访问数据库,需要满足Python DB-API标准。Python DB-API是一个规范. 它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 ,有助于开发人员编写跨数据库的可移植的Python应用程序。
Python 数据库接口支持非常多的数据库: MySQL、Microsoft SQL Server、Oracle等。不同的数据库需要使用不同的DB-API模块。
Python的DB-API为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。下面我就以sqlite数据库为例,来学习python如何操作数据库。
4
8.1 SQLite数据库操作——学生信息管理系统设计
8.1.1 SQLite数据库的连接
8.1.2 SQLite数据库操作
8.1.3 任务实现——学生信息管理系统设计
8.1.1 SQLite数据库的连接
同学们,大家好,欢迎大家来到本课程第8章的学习。在学习开始前,我们先对这章的学习内容给大家作一个简要的介绍。
6
8.1.1 SQLite数据库的连接
SQLite是Python自带的唯一的关系型数据库包,不需要通过第三方扩展来访问。目前主流版本是SQLite3。
SQLite3数据库是一种文件型的数据库,不需要安装独立的服务器,它的数据库仅为一个扩展名为.db的文件。
1.SQLite数据库
首先,我们来介绍下sqlite数据库
SQLite是Python自带的唯一的关系型数据库包,不需要通过第三方扩展来访问。目前主流版本是SQLite3。
SQLite数据库也是一种文件型的数据库,不需要安装独立的服务器。SQLite的数据库仅为一个扩展名为.db的文件,访问SQLite数据库不需要网络配置和管理,不需要用户账户和密码,数据访问权限取决于数据库文件权限。
Python访问SQLite数据库,可通过sqlite3模块实现。
7
8.1.1 SQLite数据库的连接
SQLite采用动态数据类型,会根据存入值自动判断所属数据类型。SQLite具有以下5种基本数据类型:
(1)integer:带符号的整数类型。
(2)real:浮点类型。
(3)text:字符串类型,支持多种编码(如UTF-8、UTF-16),大小无限制。
(4)blob:任意类型的数据,大小无限制。
(5)null:空值。
2.SQLite数据类型
首先,我们来介绍下sqlite数据库
SQLite是Python自带的唯一的关系型数据库包,不需要通过第三方扩展来访问。目前主流版本是SQLite3。
SQLite数据库也是一种文件型的数据库,不需要安装独立的服务器。SQLite的数据库仅为一个扩展名为.db的文件,访问SQLite数据库不需要网络配置和管理,不需要用户账户和密码,数据访问权限取决于数据库文件权限。
Python访问SQLite数据库,可通过sqlite3模块实现。
8
3.SQLite数据库的创建与连接
S1、在python中导入内置的SQLite3模块,代码如下:
import sqlite3
S2、使用connect()函数来创建连接对象,代码如下:
conn = sqlite3.connect(database)
其中,conn为引用连接对象的变量,database为指定连接的数据库文件。
S3、当连接数据成功,并完成数据库的操作后,务必要关闭数据库连接,如下:
conn.close()
8.1.1 SQLite数据库的连接
Python连接和创建SQLite数据库非常简单,只需要简单的三个步骤:
第一步,在python中导入内置的SQLite3模块:import sqlite3
第二步,使用connect()函数来创建连接对象:conn = connect(database)。其中,conn为引用连接对象的变量,database为指定连接的数据库文件。
如果数据库文件存在,则连接数据库并返回连接对象,如果数据库文件不存在,则先创建该数据库文件,然后再连接数据库返回连接对象。
第三步、当连接数据成功,并完成数据库的操作后,务必要关闭数据库连接:conn.close()。这种方式实际是调用了连接对象conn的close()方法,也称为属性。
9
8.1.1 SQLite数据库的连接
属性/方法 说明
close() 关闭数据库连接。
commit() 提交数据库事务。
cursor() 获得游标对象。
rollback() 回滚当前数据数据库事务。
创建数据库连接对象后,通过连接对象的方法,可以实现对数据库的多种操作,如下表所示:
数据库事务是指对数据库进行的一系列操作。在程序运行过程中,这些操作要么全部执行,要么全部不执行。如果操作全部执行成功,则可提交事务;如果在执行过程中有操作失败,则需要放弃之前的修改,并执行事务回滚操作,将数据库恢复到语句执行前的状态。
通过连接对象可以关闭数据库连接,除此以外,通过连接对象的方法,实现对数据库的多种操作。如提交数据库事务、获得游标对象、回滚当前数据库事务。
10
8.1.1 SQLite数据库的连接
【例8-1】创建并连接SQLite数据库。
import sqlite3
import os
conn = sqlite3.connect("test.db")
if os.path.isfile("test.db"):
print(“数据库创建成功!")
conn.close()
数据库创建成功!
我们已经学会了创建和连接数据库的三个步骤,下面我们就把这三个步骤连起来,创建并连接SQLite数据库test.db。
这里给大家提供的参考代码。这里要注意的是,connect方法的参数为字符串,test.db要打上引号!
11
8.1.1 SQLite数据库的连接
即学即答:
下列方法中,用于关闭数据库连接的方法是( )。
A.connect() B.commit()
C.close() D.cursor()
$$