python22期第五天 (数据库作业)
作业需求:
文件存储格式如下:
id,name,age,phone,job
1,Alex,22,13651054608,IT
2,Egon,23,13304320533,Tearcher
3,nezha,25,1333235322,IT
现在需要对这个员工信息文件进行增删改查。
基础必做:
a.可以进行查询,支持三种语法:
select 列名1,列名2,… where 列名条件
支持:大于小于等于,还要支持模糊查找。
示例:
select name, age where age>22
select * where job=IT
select * where phone like 133
进阶选做:
b.可创建新员工记录,id要顺序增加c.可删除指定员工记录,直接输入员工id即可
d.修改员工信息
语法:set 列名=“新的值” where 条件
#先用where查找对应人的信息,再使用set来修改列名对应的值为“新的值”
注意:要想操作员工信息表,必须先登录,登陆认证需要用装饰器完成
其他需求尽量用函数实现
作业:代码
#!/usr/bin/env python # -*- coding:utf-8 -*- import fileinput def get_id(): # 这个ID这能为select 提供使用 """获取文件最后一行内容的ID记录到一个文件中""" with open('work_id.txt', mode='r+', encoding='utf-8') as f: num = f.read() return num def select(): msg = """ 请输入您要查询的数据--例子: 1.select name,age,from work-info(表名) where age > 22 2.select * from work-info(表名) where job = "IT" 3.select * from work-info(表名) phone like "133" """ def add(): print("输入name,age,phone,job信息添加员工信息" ) wk_name=input("请输入您要添加的员工信息name:") wk_age = input("请输入您要添加的员工信息age:") wk_phone = input("请输入您要添加的员工信息phone:") wk_job = input("请输入您要添加的员工信息job:") number = int(get_id()) number = number + 1 if wk_age.isdigit() and wk_phone.isdigit(): with open('worker-info', mode='a', encoding='utf8') as f1: f1.write("\n{},{},{},{},{}".format(number,wk_name,wk_age,wk_phone,wk_job)) f1.close() else: print("请输入正确的数字:已经退出请重新输入:") # break with open('work_id.txt', mode='w', encoding='utf8') as f2: f2.write("{}".format(number)) f2.close() def pop(): """只要输入id 删除整条,两个情况:删除最后一条id 删除非最后一个条""" pop_num = input("请输入你要删除员工信息的ID:") pop_num = int(pop_num) with open('worker-info', mode='r', encoding='utf-8') as f3: list = f3.readlines() f3.close() with open('worker-info', mode='w', encoding='utf-8') as f4: for line in list: if list[pop_num] in line: continue f4.write(line) def update(): pass def check(): """ select name, age where age>22 select * where job=IT select * where phone like 133 利用where 分隔:age > 22 利用select分隔:单行, 多行name, age 全部* 循环 文件句柄 筛选出符合条件 每行 :return: """ pass while True: print(''' 请输入对应的数字对员工信息进行操作 1,查询操作--select 2,添加操作--insert 3,删除操作--delete 4,更新操作--update ''') num_k=input("请输入你要操作的号码:") if num_k.isdigit(): if num_k == "1": select() elif num_k == "2": add() elif num_k == "3": pop() elif num_k == "4": update()

浙公网安备 33010602011771号