Python__员工信息表

作业如下:

  1 #Author wangmengzhu
  2 import os
  3 
  4 def select():
  5     '''
  6            查询语法如下:
  7            select name,age from staff_table where age > 22
  8          select  * from staff_table where dept = "IT"
  9          select  * from staff_table where enroll_date like "2013"
 10            '''
 11     data = input('请输入你的命令>>: ')
 12     data1 = data.split(' ')
 13     #print(data1)
 14     if data == ("select name,age from staff_table where age > %s" % (data1[7])):
 15         with open('作业.txt', 'r+', encoding='utf-8') as f:
 16             list1 = []
 17             count = 0
 18             for line in f:
 19                 i = line.strip().split(',')
 20                 if i[2] > data1[7]:
 21                     list1.append(i)
 22             for s in list1:
 23                 count = count + 1
 24             print('满足条件的个数为>>:%s'%(count))
 25                 #print(list1)
 26             for j in list1:
 27                 print(j)
 28     elif data == ('select * from staff_table where dept = %s'%(data1[7])):
 29         with open('作业.txt', 'r+', encoding='utf-8') as f:
 30             list2 = []
 31             count = 0
 32             for line in f:
 33                 i = line.strip().split(',')
 34                 if i[4] == data1[7]:
 35                     list2.append(i)
 36                     for s in list2:
 37                         count = count + 1
 38                     print('满足条件的个数为>>:%s' % (count))
 39                     # print(list1)
 40                     for j in list2:
 41                         print(j)
 42     elif data == ('select * from staff_table where enroll_date like %s'%(data1[7])):
 43         with open('作业.txt', 'r+', encoding='utf-8') as f:
 44             list3 = []
 45             list4 = []
 46             count = 0
 47             for line in f:
 48                 i = line.strip().split(',')
 49                 list3.append(i)
 50                 #print(list3)
 51             for j in list3:
 52                 m = j[5].split('-')
 53                 if m[0] == data1[7]:
 54                     list4.append(j)
 55             for s in list4:
 56                 count = count + 1
 57             print('满足条件的条数为>>:%s'%(count))
 58             for j in list4:
 59                 print(j)
 60     else:
 61         print('你输入的命令不合法!!')
 62 def add():
 63     '''
 64     注释信息:
 65     可创建新员工纪录,以phone做唯一键,staff_id需自增
 66     name,age,phone,dept,enroll-date
 67     例如:mengzhu,23,12345678901,IT,2013-04-01
 68     '''
 69     data = input('请输入你的命令>>: ')
 70     data1 = data.split(',')
 71     with open('作业.txt','r+',encoding = 'utf-8') as f:
 72         list5 = []
 73         for line in f:
 74             s = line.strip().split(',')
 75             m = s[3]
 76             list5.append(m)
 77         if data1[2] in list5:
 78             print('这条记录已经存在')
 79             exit()
 80         else:
 81             my_index = str(len(list5)+1)
 82             data1.insert(0,my_index)
 83             data1 = ','.join(data1)
 84         f.write('\n')
 85         f.write(data1)
 86 def delete():
 87     '''
 88       注释信息:
 89           可删除指定员工信息纪录,输入员工id,即可删除
 90           delete * from staff_table where id = 3
 91       '''
 92     data = input('请输入你要删除的命令>>: ')
 93     data1 = data.split(' ')
 94     with open('作业.txt','r+',encoding = 'utf-8') as f,\
 95         open('new.txt','w+',encoding = 'utf-8') as f1:
 96         if data == ('delete * from staff_table where id = %s'%(data1[7])):
 97             for line in f:
 98                 i = line.strip().split(',')
 99                 if i[0] != data1[7]:
100                     i = ','.join(i)
101                     f1.write(i)
102                     f1.write('\n')
103                 else:
104                     continue
105 
106 
107 os.remove('作业.txt')
108 os.rename('new.txt', '作业.txt')
109 def update():
110     '''
111            注释信息:
112            可修改员工信息,语法如下:
113          UPDATE staff_table SET dept="Market" WHERE where dept = "IT"
114            '''
115     data = input('请输入你要更改的命令>>: ')
116     data1 = data.split(' ')
117     if data == ('UPDATE staff_table SET dept = %s where dept = %s'%(data1[5],data1[9])):
118         with open('作业.txt','r+',encoding = 'utf-8') as f:
119             for line in f:
120                 i = line.strip().split(',')
121                 #print(i)
122                 if i[4] == data1[9]:
123                     i[4] = data1[5]
124                     print(i)
125                 else:
126                     continue
127 
128 def main():
129     cmd_dic = {
130         'select':select,
131         'delete':delete,
132         'update':update,
133         'add':add
134     }
135     while True:
136         sql = input('输入要查询的sql语句>>: ').strip()
137         if not sql:continue
138         cmd_info = sql.split()
139         cmd = cmd_info[0]
140         if cmd in cmd_dic:
141             cmd_dic[cmd]()
142         else:
143             print('cmd not exists')
144 
145 main()
View Code

 

转载于:https://www.cnblogs.com/wangmengzhu/p/7207144.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值