编辑: You—灰機 2015-06-20

3 个字段 id、sort 和name 的表 category.下面向表中插入记录: cur.execute( insert into category values(1, 1, '

computer'

) ) 在SQL 语句字符串中可以使用占位符 ? 表示参数,传递的参数使用元组.例如: cur.execute( insert into category values 2, 3, '

literature'

))

5 获取游标的查询结果集 调用 cur.fetchall()、cur.fetchone()、cur.fetchmany()返回查询结果. ? cur.fetchone():返回结果集的下一行(Row 对象) ;

无数据时返回 None. ? cur.fetchall():返回结果集的剩余行(Row 对象列表) ,无数据时返回空 List. ? cur.fetchmany():返回结果集的多行(Row 对象列表) ,无数据时返回空 List. 例如: cur.execute( select * from catagory ) print(cur.fetchall()) #提取查询到的数据 返回结果如下: [(1, 1, '

computer'

), (2, 2, '

literature'

)] 如果使用 cur.fetchone(),则首先返回列表中的第

1 项,再次使用,返回第

2 项,依次 进行. 用户也可以直接使用循环输出结果,例如: for row in cur.execute( select * from catagory ): print(row[0],row[1])

6 数据库的提交和回滚 根据数据库事物隔离级别的不同,可以提交或回滚. ? con.commit():事务提交. ? con.rollback():事务回滚.

7 关闭 Cursor 对象和 Connection 对象 最后需要关闭打开的 Cursor 对象和 Connection 对象. ? cur.close():关闭 Cursor 对象. ? con.close():关闭 Connection 对象. 3.3.2 创建数据库和表 例3-1 创建数据库 sales, 并在其中创建表 book, 表中包含

3 列, 即id、 price 和name, 从入门到实战――爬虫、游戏和机器学习

76 Python 项目案例开发 其中 id 为主键(primary key) . #导入 Python SQLite 数据库模块 import sqlite3 #创建 SQLite 数据库 con=sqlite3.connect( E:\sales.db ) #创建表 book,包含

3 列,即id(主键) 、price 和name con.execute( create table book(id primary key, price, name) ) 说明:Connection 对象的 execute()方法是 Cursor 对象对应方法的快捷方式,系统会创 建一个临时 Cursor 对象,然后调用对应的方法,并返回 Cursor 对象. 3.3.3 数据库的插入、更新和删除操作 在数据库表中插入、更新、删除记录的一般步骤如下: (1)建立数据库连接. (2)创建游标对象 cur,使用 cur.execute(sql)执行 SQL 的insert、update、delete 等语句 完成数据库记录的插入、更新、删除操作,并根据返回值判断操作结果. (3)提交操作. (4)关闭数据库. 例3-2 数据库表记录的插入、更新和删除操作. import sqlite3 books=[(

021 ,25, 大学计算机 ),(

022 ,30, 大学英语 ),(

023 ,18, 艺术欣赏 ), (

024 ,35, 高级语言程序设计 )] #打开数据库 Con=sqlite3.connect( E:\sales.db ) #创建游标对象 Cur=Con.cursor() #插入一行数据 Cur.execute( insert into book(id,price,name) values('

001'

,33,'

大学计算机 多媒体'

) ) Cur.execute( insert into book(id,price,name) values(002 ,28, 数据库基础 )) #插入多行数据 Cur.executemany( insert into book(id,price,name) values books) #修改一行数据 Cur.execute( Update book set price=? where name=? ,(25, 大学英语 )) #删除一行数据 n=Cur.execute( delete from book where price=? ,(25,)) print( 删除了 ,n.rowcount, 行记录 ) Con.commit() Cur.close() Con.close()

77 第3章数据库应用――智力问答测试

03 运行结果如下: 删除了

2 行记录 3.3.4 数据库表的查询操作 查询数据库的步骤如下: (1)建立数据库连接. (2)创建游标对象 cur,使用 cur.execute(sql)执行 SQL 的select 语句. (3)循环输出结果. import sqlite3 #打开数据库 Con=sqlite3.connect( E:\sales.db ) #创建游标对象 Cur=Con.cursor() #查询数据库表 Cur.execute( select id,price,name from book ) for row in Cur: print(row) 运行结果如下: ('

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题