来自 《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()
结果: