Python程序设计第8章 习题解答

2022-07-11 21:17:15   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《Python程序设计第8章 习题解答》,欢迎阅读!
习题,程序设计,解答,Python

8.4 习题

8.1 IDLE交互方法下输入下面代码,观察操作过程和显示。

>>> import sqlite3 # 导入SQLite模块

# 连接到SQLite数据库,数据库文件是test.db,如果文件不存在,会自动在D:\目录创建 >>> conn = sqlite3.connect('d:\\test.db') # 创建一个Connection对象conn >>> cur = conn.cursor() # 创建一个Cursor对象cur # 执行一条SQL语句,创建user

>>> cur.execute('create table user(id text(10) primary key, name text(10))') # 执行一条SQL语句,插入一条记录

>>> cur.execute("insert into user(id, name) values('20201', 'Jack')") # 执行一条SQL语句,再插入一条记录

>>> cur.execute("insert into user(id, name) values('20203', 'Tom')")

>>> cur.rowcount # 通过rowcount获得插入的行数 1

>>> cur.close() # 关闭Cursor对象 >>> conn.commit() # 提交事务

>>> conn.close() # 关闭Connection对象



8.2 下面代码在内存中创建一个临时数据库,然后在该数据库中创建一个表user,分别用问号(?)和命名变量作为占位符添加记录,再用不同的方式显示记录。请运行程序,写出执行结果。

from sqlite3 import *

conn= connect(":memory:") # 在内存中创建临时数据库,并创建连接对象 cur=conn.cursor() # 创建游标对象 # 创建表user

cur.execute("CREATE TABLE user(user_no text(4), user_name text(10))") # 执行SQL语句创建表 # 添加记录,使用问号作为占位符 no="0001" name="Jerry"

cur.execute("INSERT INTO user VALUES(?, ?)", (no, name)) # 添加记录,占位符的值用元组提供 # 执行查询,使用命名变量作为占位符

cur.execute("SELECT * FROM user WHERE user_no=:no AND user_name=:name",{"no":no, "name":name}

174


row = cur.fetchone() # 获得查询到的一条记录

print("获得查询到的一条记录:user_no=%s, user_name=%s" % (row[0], row[1])) # 输出结果 # 添加记录,使用命名变量 no1="0002" name1="Tom"

sql="INSERT INTO user VALUES(:no1, :name1)" # SQL语句中的命名变量 var={"no1":no1, "name1":name1} # 用字典提供命名变量和对应的值 cur.execute(sql, var) # 执行SQL语句 # 添加记录,用问号(?)占位符传递参数 sql="INSERT INTO user VALUES(?, ?)"

params=("0003", "Alisa") # 用元组提供占位符的值 cur.execute(sql, params) # 执行SQL语句 conn.commit() # 提交事务

# 查询所有记录,使用cur.fetchone()方法循环 cur.execute("SELECT * FROM user")

row = cur.fetchone() # 获得查询到的第一条记录 print("获得查询到的记录:") while row: # 循环读取所有记录行 print(row) # 按元组显示

row = cur.fetchone() # 获得查询到的下一条记录 # 查询所有记录,必须重新执行SQL语句 cur.execute("SELECT * FROM user")

row = cur.fetchone() # 获得查询到的第一条记录 while row:

print("user_no=%s, user_name=%s" % (row[0], row[1])) # 使用字段输出结果 row = cur.fetchone() # 获得查询到的下一条记录 cur.close() # 关闭游标对象 conn.close() # 关闭连接对象



8.3 IDLE交互方法下输入下面代码,观察操作过程和显示。

>>> from sqlite3 import * # 导入SQLite模块

>>> conn = connect('D:\\test.db') # 创建连接对象,打开例8-3中创建的数据库 >>> cur = conn.cursor() # 创建游标对象

>>> cur.execute('select * from user where id=?', ('20201',)) # 执行查询语句 >>> rows = cur.fetchall() # 获得查询结果集 >>> rows [('20201', 'Jack')]

>>> cur.execute('select * from user') # 执行查询语句, 查询所有记录

175




>>> rows = cur.fetchall() # 获得查询结果集,是一个列表list,列表的每个元素是一个tupe >>> rows

[('20201', 'Jack'), ('20203', 'Tom')] >>> cur.close() # 关闭Cursor对象 >>> conn.commit() # 提交事务

>>> conn.close() # 关闭Connection对象



8.4 学生信息包括学号、姓名、性别、出生日期、专业等。请用SQL Server创建数据库,实现学生信息的增、删、改、查功能。



176


本文来源:https://www.dywdw.cn/462f1c0d74c66137ee06eff9aef8941ea76e4b8e.html

相关推荐
推荐阅读