内容正文:
6.3Python数据库基础
程序设计基础Python
同步精品课堂
高教版
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
教学目标
一
1.了解数据库的基础概念;
2.掌握Python DB-API的作用,知晓常用Python数据库连接模块;
3.熟记Python访问数据库的5个步骤,掌握sqlite3模块的基本使用。
教学重难点
二
重点:
Python访问数据库的5个步骤;sqlite3模块的连接、游标对象操作。
难点:
DB-API的核心作用;connect对象与cursor对象的功能区分。
导入新课
三
咱们今天学Python操作数据库,本质就是“用Python代替手动操作,让代码帮咱们管数据库里的数据”。那咱们在开始今天的课程前,先花5分钟搞懂“数据库到底是啥”——用咱们生活里的例子来理解,你可以把数据库理解成:带“智能管理功能”的电子文件夹:
比如咱们班级要存“学生信息+成绩”:
导入新课
三
1:用笔记本记:找某个学生的成绩得翻半天,写错了还不好改;
2:用Excel存:数据多了会卡顿,不小心删错列就全乱了;
3:用数据库存:既能像Excel一样分类:比如“学生表”“成绩表”,又能1秒找到某个人的信息、批量改分数,还不会丢数据——相当于给数据加了“智能管家”。
新知讲授
四
一、数据库的3个核心概念
数据表(Table)
数据库管理系统(DBMS)
结构化查询语言(SQL)
数据库里的“分类表格”,像Excel里的“工作表”:
1. 比如“学生表”:列是“姓名、学号、班级”这里可以认为列是固定属性,行是“张三、2025001、1班”,这里可以认为行是具体一条数据;
2.不同表可以关联:“成绩表”里的“学号”,能对应到“学生表”的“学号”,就能查到“张三的数学成绩”。
新知讲授
四
一、数据库的3个核心概念
数据表(Table)
数据库管理系统(DBMS)
结构化查询语言(SQL)
数据库里的“分类表格”,像Excel里的“工作表”:
1. 比如“学生表”:列是“姓名、学号、班级”这里可以认为列是固定属性,行是“张三、2025001、1班”,这里可以认为行是具体一条数据;
2.不同表可以关联:“成绩表”里的“学号”,能对应到“学生表”的“学号”,就能查到“张三的数学成绩”。
姓名 学号 班级
张三 001 1班
学号 英语 数学
001 55 66
学生表
成绩表
新知讲授
四
一、数据库的3个核心概念
数据表(Table)
数据库管理系统(DBMS)
结构化查询语言(SQL)
操作数据库的“工具软件”:
比如咱们这节课会用到的 sqlite ,就是一个轻量级的DBMS,相当于“管理这个电子文件夹的软件”;还有大家可能听过的 MySQL ,是常用的大型DBMS。
新知讲授
四
一、数据库的3个核心概念
数据表(Table)
数据库管理系统(DBMS)
结构化查询语言(SQL)
和数据库“说话”的“指令”:
比如你想查“所有1班学生的成绩”,就得用SQL说一句‘帮我从成绩表里找出学号对应学生表中1班的记录’——后面咱们用Python操作数据库,其实就是让Python帮咱们“发这些SQL指令”。
新知讲授
四
二、Python使用数据库的一般步骤
①导入相关模块
②连接数据库并获取数据连接对象
③获取游标对象
④应用游标对象的方法进行数据库相关操作
⑤关闭游标对象
Python使用数据库的一般步骤:
新知讲授
四
二、PythonDB-API常用模块
Python通过DB-API接口实现对数据库的使用。DB-API系统地定义了数据库对象和数据库存取方式,为各类数据库系统提供了统一的访问接口。
模块名称 说明
pypyodbc 以ODBC(开放数据库互连,Open Database Connectivity)方式连接数据库。
MySQLdb Python连接MySQL的模块
cx_Oracle Python连接Oracle数据库的专用模块。
sqlite3 Python连接数据库的内置模块。
DB-API常用模块
新知讲授
四
三、数据库对象
Python应用connect()函数创建一个数据库连接对象,connect()函数的格式如下所示:
connect(<数据库名>,<用户名>,<用户密码>)
数据库对象-connect对象
Python
数据库
connect
新知讲授
四
三、数据库对象
Python
数据库
connect
cursor对象也称为游标对象,通过cursor()函数获取数据库游标。游标的作用是进行数据操作时定位数据记录。游标对象的定义如下所示:
<connect对象名>.cursor()
数据库对象-cursor对象
data1
data2
data3
data4
data5
cursor(定位和获取数据)
新知讲授
四
三、数据库对象
data1
data2
data3
data4
data5
cursor(定位和获取数据)
DB-API 2.0规范支持SQL-92标准。通过execute()函数调用SQL语句进行数据库的相关操作。
execute()函数的格式如下所示:
<cursor对象名>.execute(<SQL语句>)
数据库操作
execute(<SQL语句>)
新知讲授
四
三、数据库对象
<cursor对象名>.close()
关闭游标对象
<connect对象名>.close()
关闭数据库连接对象
Python
数据库
connect
data1
data2
data3
data4
data5
cursor(定位和获取数据)
新知讲授
四
四、sqlite3模块
01 import sqlite3
02 a=os.path.isfile('exdb.db')
03 print(a)
04 db_ex=sqlite3.connect('exdb.db')
05 a=os.path.isfile('exdb.db')
06 print(a)
07 db_ex.close()
例如:应用connet()函数连接数据库文件“exdb.db”,对象名为db_ex。
<connect对象名>
=sqlite3.connect(<数据库名>)
SQLite3通过connect()函数创建一个数据库连接对象
connect()函数的格式如下所示:
若连接的数据库不存在,则创建该数据库并建立数据连接对象。
新知讲授
四
四、sqlite3模块
例如:应用connet()函数连接数据库文件“exdb.db”,对象名为db_ex。
没有exdb.db
没有exdb.db,创建exdb.db
新知讲授
四
四、sqlite3模块
01 import sqlite3
02 db_ex=sqlite3.connect('exdb.db')
03 db_cur=db_ex.cursor()
04 db_cur.close()
05 db_ex.close()
例如:应用curcor()函数定义连接数据库对象db_ex的游标对象名为db_cur。
<cursor对象名>
=<connect对象名>.cursor()
SQLite3通过cursor()函数创建一个数据库游标对象
cursor()函数的格式如下所示:
师生互动
五
小实操互动
让学生打开Python编辑器,跟着写代码:
import sqlite3
# 连接(或创建)test.db数据库
db = sqlite3.connect("test.db")
# 获取游标
cur = db.cursor()
# 关闭游标和连接
cur.close()
db.close()
提问:“运行代码后,文件夹里有没有出现test.db文件?”验证“不存在的数据库会自动创建”。
随堂练习
1. 关于数据库的描述,正确的是()
A. 数据库就是Excel表格
B. 数据库可以高效管理大量数据,且不易丢失
C. 用笔记本记数据比数据库更高效
D. 数据库不能分类存储数据
【答案】B
【解析】数据库是带智能管理的电子文件夹,比Excel更稳定、比笔记本高效,且能通过“数据表”分类存储,因此A、C、D错误,B正确。
六
随堂练习
2. 数据库中的“数据表”相当于Excel中的()
A. 整个Excel文件
B. 工作表
C. 单元格
D. 行
【答案】B
【解析】数据表是数据库的分类表格,对应Excel中的“工作表”,因此选B。
六
随堂练习
3. 以下属于数据库管理系统的是()
A. Python
B. SQLite
C. SQL
D. 数据表
【答案】B
【解析】DBMS是操作数据库的工具软件,SQLite是轻量级DBMS;Python是编程语言,SQL是查询语言,数据表是数据库结构,因此选B。
六
随堂练习
4.用Python访问数据库的第一步是()
A. 连接数据库
B. 获取游标对象
C. 导入相关模块
D. 执行SQL语句
【答案】C
【解析】Python访问数据库的步骤为“导入模块→连接数据库→获取游标→操作→关闭”,因此第一步是导入相关模块。
六
随堂练习
5.在Python中,使用sqlite3模块连接数据库时,用到的函数是()
A. cursor()
B. execute()
C. connect()
D. close()
【答案】C
【解析】sqlite3通过 connect() 创建数据库连接对象; cursor() 是获取游标, execute() 执行SQL, close() 关闭对象,因此选C。
六
随堂练习
6. 若使用sqlite3连接一个不存在的数据库文件,会发生什么?()
A. 报错无法连接
B. 自动创建该数据库文件并连接
C. 连接到系统默认数据库
D. 只能连接已存在的数据库
【答案】B
【解析】sqlite3连接不存在的数据库时,会自动创建该数据库并建立连接,因此选B。
六
随堂练习
7.在Python操作数据库中,“游标对象”的作用是()
A. 关闭数据库连接
B. 执行SQL语句
C. 定位数据记录,进行数据操作
D. 导入数据库模块
【答案】C
【解析】游标对象的作用是“定位数据记录,进行数据操作”; execute() 是执行SQL的方法,因此选C。
六
随堂练习
8.以下代码中,用于关闭游标对象的是()
A. db_ex.close()
B. db_cur.close()
C. sqlite3.connect()
D. db_ex.cursor()
【答案】B
【解析】游标对象的 close() 方法用于关闭游标; db_ex 是连接对象,其 close() 是关闭数据库连接,因此选B。
六
课堂小结
八
谢谢
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
$