投稿  收藏 
在学生信息数据库中查询信息

【问题描述】

请利用表9-1-8所示的学生信息表students_Info,筛选出年龄小于等于15岁的同学的姓名及性别。

表9-1-8 学生信息表

在学生信息数据库中查询信息

续表

在学生信息数据库中查询信息

在学生信息数据库中查询信息输出结果:

[('陶培豪',15),('樊慧琳',14),('付小青',14),('高清源',15),('龚涛',14),('何虹',15),('贺婉云',15),('胡泓吉',15)]

【题前思考】

根据问题描述,填写表9-1-9。

表9-1-9 问题分析

在学生信息数据库中查询信息

【解题思路】

要查询数据,首先要连接给定的数据库,然后使用数据库中对应的数据表,通过select命令查询出需要的信息。

【程序代码】

在学生信息数据库中查询信息

【代码分析】

①:要使用sqlite3这个模块,必须先创建一个Connection对象,它代表数据库。

②:这条语句首先是筛选出年龄小于等于15岁的学生,然后选择学生的姓名和年龄,最后以迭代器的形式来输出结果。查询过程如图9-1-2所示。

在学生信息数据库中查询信息

图9-1-2 SQL查询过程

【优化提升】

要在执行select语句后获取数据,可以把游标作为iterator(迭代器),然后调用它的fetchone( )方法来获取一条匹配的行,也可以调用fetchall( )来得到包含多个匹配行的列表。原程序采用fetchone( )方法改写后如下:

import sqlite3

con=sqlite3.connect('students.db')

cur=con.cursor( )

cur.execute("select name,age from students_Infor where age<=15")

print(cur.fetchall( ))

con.close( )

【技术全貌】

sqlite3的where子句用于指定从一个表或多个表中获取数据的条件。如果满足给定的条件,即为真(true)时,则从表中返回特定的值。可以使用where子句来过滤记录,只获取需要的记录。where子句不仅可用在select语句中,也可用在update、delete语句中,我们还可以使用比较或逻辑运算符指定条件,如>、<、=、like、not。select语句的where子句的语法见表9-1-10。

表9-1-10 select语句的where子句的语法

在学生信息数据库中查询信息

续表

在学生信息数据库中查询信息

关 键 词

学生信息库

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢