来自 《Python项目案例开发从入门到实战》(清华大学出版社 郑秋生 夏敏捷主编)中 数据库应用--智力问答测试
生成试题库代码:
1 import sqlite3 # 导入数据库相关的包
2
3 # 连接到sqlite3数据库,数据库的名称是 test_bank.db ,如果该数据库不存在,则会自动创建
4 conn = sqlite3.connect(‘test_bank.db‘)
5 # 创建一个cursor
6 cursor = conn.cursor()
7 # 删除test_bank中的exam表格,如果不存在则会报错,所以本地如果没有test_bank.db数据库则需要注释这一条语句
8 cursor.execute("drop table exam")
9 # 创建exam表格并且定义它的格式
10 cursor.execute(‘create table [exam] ([question] varchar(80) null, 11 [Answer_A] varchar(1) null, [Answer_B] varchar(1) null, 12 [Answer_C] varchar(1) null, [Answer_D] varchar(1) null, [right_Answer] varchar(1) null)‘)
13 # 继续执行一条SQL语句,插入一条记录
14 cursor.execute("insert into exam (question, Answer_A, Answer_B, Answer_C, Answer_D, right_Answer) 15 values (‘哈雷彗星的平均周期为‘, ‘54年‘, ‘56年‘, ‘73年‘, ‘83年‘, ‘C‘)")
16 cursor.execute("insert into exam (question, Answer_A, Answer_B, Answer_C, Answer_D, right_Answer) 17 values (‘夜郎自大中“夜郎”指的是现在哪个地方‘, ‘贵州‘, ‘云南‘, ‘广西‘, ‘福建‘, ‘A‘)")
18 cursor.execute("insert into exam (question, Answer_A, Answer_B, Answer_C, Answer_D, right_Answer) 19 values (‘在中国历史上是谁发明了麻药‘, ‘孙思邈‘, ‘华佗‘, ‘张仲景‘, ‘扁鹊‘, ‘A‘)")
20 cursor.execute("insert into exam (question, Answer_A, Answer_B, Answer_C, Answer_D, right_Answer) 21 values (‘京剧中花旦是指‘, ‘年轻男子‘, ‘年轻女子‘, ‘年长男子‘, ‘年长女子‘, ‘B‘)")
22 cursor.execute("insert into exam (question, Answer_A, Answer_B, Answer_C, Answer_D, right_Answer) 23 values (‘篮球比赛每队几人‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘B‘)")
24 cursor.execute("insert into exam (question, Answer_A, Answer_B, Answer_C, Answer_D, right_Answer) 25 values (‘在天愿作比翼鸟,在地愿为连理枝。讲述的是谁的爱情故事‘, ‘焦仲卿和刘兰芝‘, ‘梁山伯与祝英台‘, ‘崔莺莺和张生‘, ‘杨贵妃和唐明皇‘, ‘D‘)")
26
27 # 通过rowcount获得插入的行数
28 print(cursor.rowcount)
29
30 # 关闭游标对象
31 cursor.close()
32 # 事务提交
33 conn.commit()
34 # 关闭数据库链接对象
35 conn.close()
结果: