【问题描述】yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
现有一个班级的学生信息,信息多而复杂,如姓名、性别、年龄、家庭地址、家庭总收入等。考虑到一个学校可能还有同名的同学,为了便于日常管理,避免出错,请你设计学生信息数据库来存放学生的各类信息。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出结果:yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出结果见表9-1-1。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表9-1-1 学生信息表yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【题前思考】yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
根据问题描述,填写表9-1-2。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表9-1-2 问题分析yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【解题思路】yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
要创建学生信息数据库,首先要确定数据库中的字段,包含姓名、性别、年龄、家庭地址、家庭年收入,除此以外,还需要确定一个学号(不能重复),用于后面数据表的连接、查询等操作。创建数据库表时,需要指定哪些字段必须要有数据,哪些字段可以为空。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【程序代码】yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【代码分析】yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
①:要使用Sqlite3模块访问数据库,必须先创建一个Connection对象,它代表数据库。本例中数据库将存储在students.db文件中,如果students.db不存在,会创建一个空的数据库文件,Connection对象赋值给变量con。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
②:当有了Connection对象con后,调用con.cursor( )方法创建一个Cursor游标对象,然后调用它的execute( )方法来执行SQL语句和取得查询的结果。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
③:创建一个名为students_Infor的表格,其字段见表9-1-3。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表9-1-3 学生信息表的字段yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
id后面跟了primary key,这就代表在插入数据的时候,id是必须输入且不能重复。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
④:通过调用execute( )方法来插入一行数据,注意插入的内容应该与表的字段统一。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
⑤:表示一个事务结束,提交当前事务,使事务中执行的变更永久化。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
⑥:关闭连接。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【技术全貌】yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
在Sqlite3 数据库中创建数据库表的语法为:yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
数据类型选用以下类型之一,见表9-1-4。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表9-1-4 数据类型yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
sqlite3.connect( )函数会返回一个数据库对象,并打开其指定的数据库文件,连接对象的常见方法见表9-1-5。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表9-1-5 连接对象的常见方法yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
连接对象的cursor 方法将我们引入另外一个主题:游标对象。通过游标执行SQL查询并检查结果。游标连接支持更多的方法,见表9-1-6。yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
表9-1-6 游标对象的属性与方法yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
续表yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
yVM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库