1 #Author guixin 2 def find(): 3 ‘‘‘ 4 查询语法如下: 5 find name,age from staff_table where age > 22 6 find * from staff_table where dept = IT 7 find * from staff_table where enroll_date like 2013 8 ‘‘‘ 9 data = input("查询:") 10 data1 = data.split() 11 if len(data1) == 8 : 12 if data == ("find name,age from staff_table where age > %s"%(data1[7])): 13 f = open(‘staff_db‘,‘r‘) 14 list1 = [] 15 count = 0 16 for line in f: 17 i = line.strip().split(‘,‘) 18 if int(i[2]) > int(data1[7]): 19 list1.append(i) 20 for line in list1: 21 count += 1 22 print("满足条件的数量:%s"%(count)) 23 for line in list1: 24 print(line) 25 elif data == ("find * from staff_table where dept = %s"%(data1[7])): 26 f = open(‘staff_db‘,‘r‘) 27 list2 = [] 28 count = 0 29 for line in f: 30 i = line.strip().split(‘,‘) 31 if i[4] == data1[7]: 32 list2.append(i) 33 for line in list2: 34 count += 1 35 print("满足条件的数量:%s"%(count)) 36 for line in list2: 37 print(line) 38 elif data == ("find * from staff_table where enroll_date like %s"%(data1[7])): 39 list3 = [] 40 list4 = [] 41 count = 0 42 f = open(‘staff_db‘,‘r‘) 43 for line in f: 44 i = line.strip().split(‘,‘) 45 list3.append(i) 46 for line in list3: 47 i = line[5].split(‘-‘) 48 if i[0] == data1[7]: 49 list4.append(line) 50 for line in list4: 51 count += 1 52 print("满足条件的数量:%s"%(count)) 53 for line in list4: 54 print(line) 55 else: 56 print("输入有误") 57 else: 58 print("输入有误") 59 def add(): 60 ‘‘‘ 61 注释信息: 62 可创建新员工记录,以phone做唯一键,staff_id需自增 63 新增方法: 64 Gui Xin,22,13977777777,it,1999-1-1 65 ‘‘‘ 66 data = input("添加:") 67 data1 = data.split(‘,‘) 68 print(data1) 69 if len(data1) == 5: 70 list5 = [] 71 f = open("staff_db",‘r+‘) 72 for line in f: 73 i = line.strip().split(‘,‘) 74 list5.append(i[3]) 75 if data1[2] in list5: 76 print("这条记录已存在") 77 else: 78 staff_id = str(len(list5)+1) 79 data1.insert(0,staff_id) 80 data1 = ‘, ‘.join(data1) 81 f.write(‘\n‘) 82 f.write(data1) 83 else: 84 print("输入有误") 85 def delete(): 86 """ 87 注释信息: 88 可删除指定员工的信息记录,输入员工ID即可删除 89 del * from staff_db where id = 1 90 """ 91 data = input("删除:") 92 data1 = data.split() 93 f = open(‘staff_db‘,‘r+‘) 94 if len(data1) == 8: 95 if data == ("del * from staff_db where id = %s"%(data1[7])): 96 list6 = [] 97 for line in f: 98 i = line.strip().split(‘,‘) 99 list6.append(i) 100 if int(i[0]) == int(data1[7]): 101 list6.remove(i) 102 print("删除记录:%s"%(i)) 103 print(list6) 104 else: 105 print("输入有误") 106 else: 107 print("输入有误") 108 def update(): 109 ‘‘‘ 110 注释信息:可修改员工信息,语法如下 111 update staff_table set dept = HR where dept = IT 112 update staff_table set age = 18 where name = ‘Alex Li‘ 113 ‘‘‘ 114 data = input("更新:") 115 data1 = data.split() 116 if len(data1) == 10: 117 if data == ("update staff_table set dept = %s where dept = %s"%(data1[5],data1[9])): 118 f = open("staff_db",‘r+‘) 119 for line in f: 120 i = line.strip().split(‘,‘) 121 if i[4] == data1[9] : 122 i[4] = data1[5] 123 print(i) 124 elif data == ("update staff_table set age = %s where name = %s"%(data1[5],data1[9])): 125 f = open("staff_db",‘r+‘) 126 for line in f: 127 i = line.strip().split(‘,‘) 128 if i[1] == data1[9]: 129 i[2] = data1[5] 130 print(i) 131 else: 132 print("输入有误") 133 else: 134 print("输入有误") 135 data = input("/查询/添加/删除/更新:") 136 if data == "查询": 137 find() 138 elif data == "添加": 139 add() 140 elif data == "删除": 141 delete() 142 elif data == "更新": 143 update() 144 else: 145 print("输入有误")