- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
# 执行一条SQ 语句,创建user 表
cur.execute(create table user(id text(10) primary key, name text(10)))
sqlite3.Cursor object at 0x023386E0
# 执行一条SQ 语句,插入一条记录
cur.execute(insert into user(id, name) values(20201, Jack))
sqlite3.Cursor object at 0x023386E0
# 执行一条SQ 语句,再插入一条记录
cur.execute(insert into user(id, name) values(20203, Tom))
sqlite3.Cursor object at 0x01E1D160
cur.rowcount # 通过rowcount 获得插入的行数
1
cur.close() # 关闭Cursor 对象
mit() # 提交事务
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))) # 执行SQ 语句创建表
# 添加记录,使用问号作为占位符
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 语句
mit() # 提交事务
# 查询所有记录,使用cur.fetchone()方法循环
cur.execute(SELECT *
文档评论(0)