目录

  • 前言
    • ●  Python解释器安装
    • ●  PyCharm开发环境
  • Python程序设计实验
    • ●  实验1 IDLE与代码编写规范
    • ●  实验2 输入输出与数据类型
    • ●  实验3 字符串处理
    • ●  实验4 数据运算
    • ●  实验5 列表与元组应用
    • ●  实验6 字典与集合应用
    • ●  实验7 if语句与match语句
    • ●  实验8 使用循环语句
    • ●  实验9 异常处理
    • ●  实验10 函数应用
    • ●  实验11 类的应用
    • ●  实验12 模块应用
    • ●  实验13  应用re模块
    • ●  实验14 文件处理
    • ●  实验15 用户界面设计
    • ●  实验18 SQLite数据库应用
    • ●  理论考试模拟试题A
    • ●  理论考试模拟试题B
    • ●  理论考试模拟试题C
    • ●  理论考试模拟试题D
  • 学习参考
    • ●  01 Python及其IDLE环境
    • ●  02 Python代码规范
    • ●  03 常量和变量
    • ●  04 输入输出
    • ●  05 运算符
    • ●  06 数值类型
    • ●  07 字符串
    • ●  08 列表
    • ●  09 元组
    • ●  10 字典
    • ●  11 集合
    • ●  12 条件语句
    • ●  13 循环语句
    • ●  14 异常处理
    • ●  15 自定义函数
    • ●  16 内置函数
    • ●  17 模块导入与定义
    • ●  18 math模块
    • ●  19 os模块
    • ●  20 time模块
    • ●  21 random模块
    • ●  22 文本文件
    • ●  23 二进制文件
    • ●  24 类的创建和使用
    • ●  25 类的继承与多态
 实验18 SQLite数据库应用

任务1 SQLite数据库应用-创建表

创建数据库d:\s15t1.db,添加名为"tb"的数据表。表字段从键盘输入。创建成功,输出"Finished"。否则输出"Failed"。

要求:

1、程序保存到:s15t5.py

3、程序执行效果:

输入字段:sid,name,age

输出:Finished

【参考与提示】

1、创建SQLite数据库的主要步骤:

(1)导入sqlite3库

(2)创建db数据库连接对象。格式:

变量名=sqlite3.connect(数据库文件)

(3)创建游标对象。格式:

变量名=连接对象.cursor( )

(4)操作数据库。格式:

游标对象.execute(SQL命令串)

(5)提交事务:连接对象.commit( )

(6)关闭游标和连接:对象.close( )

2、创建数据表的基本SQL语句(为字符串,需通过游标的内置函数execute执行):

   create table 表名(字段序列)


任务2 SQLite数据库应用-从数据表读取数据

已知数据库ps15t2.db有表名为"stinfs"的数据表,字段为sid,name,score,分别表示学号、姓名和成绩([0,100]上的整数)。输入一个整数m,输出所有成绩与m的和。如果m输入无效,约定m的值为12。

要求:

1、程序保存到:s15t2.py

3、程序执行效果:

输入一个整数:10

输出:nums=705

【参考与提示】

    SQLite能够进行统计计算:

(1)COUNT(*)计算记录数量:

   SELECT COUNT(*) FROM st

(2)SUM(列名):计算指定列数值的和。

(3)AVG(列名):计算指定列数值平均值。

(4)MAX(列名):找出指定列中的最大值。

(5)MIN(列名):找出指定列中的最小值。

示例(cur为游标对象):

cur.execute("select max(score) from stinfs")

a=cur.fetchone()[0]#得到成绩最大值


任务3 SQLite数据库应用-记录添加、修改与删除

已知数据库ps15t3.db有表名为"books"的数据表,字段为bname,editor,pub,分别表示书名、作者和出版社。对books表完成以下操作。全部操作成功完成,输出"end:succeed"。否则输出"end:failed"。

1、删除书名为"C++"的全部记录。

2、将记录中的出版社"KX"修改为"DPW"。

3、从键盘依次输入书名、作者和出版社,将其添加到表中。

要求:

1、程序保存到:s15t3.py

2、程序执行效果:

输入书名、作者和出版社:C#编程 LBin DS

输出:end:succeed

【参考与提示】

1、添加记录:

   insert into 表名 values(值序列)

2、删除记录:

   delete from 表名 where 条件

3、修改记录:

   update from 表名 set 字段=值 where 条件


任务4 SQLite数据库应用-记录查询

已知数据库ps15t4.db有表名为"sales"的数据表,字段为month,profit,分别表示月份、利润。均为整数。输入一个整数m,输出第m季度的平均利润(四舍五入取整)。如果m不是[1,4]上的整数,约定m=4。

要求:

1、程序保存到:s15t4.py

3、程序执行效果:

输入一个整数:1

输出:第1季度平均利润=14

【参考与提示】

1、实现记录查询的SQL语句基本格式:

select * from 表名 where 条件

   条件中可使用以下操作符:

(1)in:where month in (5,6)

(2)between:where month between 3 and 8

   可使用avg函数求平均值。如:

select avg(profit) from ...

2、查询结果由游标对象的fetchone函数返回。如:v=cur.fetchone()[0]


任务5 SQLite数据库应用-排序

已知数据库ps15t4.db有表名为"sales"的数据表,字段为month,profit,分别表示月份、利润。均为整数。输入一个整数m,输出第1个月至第m月利润最低的月份。如果m不是[1,12]上的整数,约定m=12。

要求:

1、程序保存到:s15t5.py

3、程序执行效果:

输入一个整数:3

输出:3月利润最低=12

【参考与提示】

求解思路:

1、选择月份并按利润升序排序:

(1)select语句中,where子句确定月份。

(2)order by子句确定排序的字段和方式。

2、查询结果由游标对象的fetchone函数返回。如:v=cur.fetchone()。返回值应为包含二个元素的元组:第一个元素为月份,第二个元素为利润。