SQLlite练习 "一个学员信息查询系统"
(把数据写入数据库)
import sqlite3
info = [{'id': '001', 'name': 'jack', 'num': 10},
{'id': '002', 'name': 'rose', 'num': 12},
{'id': '003', 'name': 'joe', 'num': 8},
{'id': '004', 'name': 'jone', 'num': 15},
{'id': '005', 'name': 'mark', 'num': 14}]
tablename = 'work'
conn = sqlite3.connect('./work.db')
cursor = conn.cursor()
cursor.execute("create table %s ('id' char(4) primary key, 'name' varchar(10),'num' int(10) )" % tablename)
for x in info:
id = x['id']
name = x['name']
num = x['num']
cursor.execute('insert into %s values("%s","%s",%d)' % (tablename, id, name, num))
conn.commit()
conn.close()
(查询数据库CLI交互界面)
import sqlite3
import time
conn = sqlite3.connect('./work.db')
cursor = conn.cursor()
tip = """
输入查询选项:
1:查询整个数据库
2:基于ID查询
3:基于姓名查询
4:基于作业数查询
0:exit
"""
while True:
print(tip)
user_input = input("选择:")
if user_input == '0':
break
elif user_input == '1':
cursor.execute("select * from work")
result = cursor.fetchall()
for x in result:
print(f'学号:{x[0]:4}姓名:{x[1]:4}次数:{x[2]:4}')
time.sleep(1)
elif user_input == '2':
id = input("输入查询ID")
cursor.execute("select * from work where id = '%s'"%id)
result = cursor.fetchall()
if result:
for x in result:
print(f'学号:{x[0]:4}姓名:{x[1]:4}次数:{x[2]:4}')
else:
print("没有该学号")
time.sleep(1)
elif user_input == '3':
name = input("输入查询姓名")
cursor.execute("select * from work where name = '%s'"%name )
result = cursor.fetchall()
if result:
for x in result:
print(f'学号:{x[0]:4}姓名:{x[1]:4}次数:{x[2]:4}')
else:
print("没有该学生")
time.sleep(1)
elif user_input == '4':
num = input("输入查询次数")
cursor.execute("select * from work where num >= '%s'"%num )
result = cursor.fetchall()
if result:
for x in result:
print(f'学号:{x[0]:4}姓名:{x[1]:4}次数:{x[2]:4}')
else:
print("没有符合条件")
time.sleep(1)
else:
print("重新输入")