import pymysql conn=pymysql.connect(host='localhost',user='root',passwd='root',db='stu',charset='utf8') #创建游标 cursor = conn.cursor() cursor.execute("drop table IF EXISTS tsglxt")#如果表存在则删除 systemsql = '''create table tsglxt( ISBN int primary key, name varchar(50), press char(20), price int, author varchar(50))DEFAULT CHARSET=utf8; ''' cursor.execute(systemsql) #创建表 len=0 list=[] # 增加 def add(): global list global len while True: try: ISBN = int(input("请输入要新增的ISBN:")) a = False for i in list: if i == ISBN: a = True break if ISBN!=-1 and a==False: len=len+1 name = input("请输入书名:") press = input("请输入出版社:") while True: try: price = int(input("请输入价格:")) break except Exception: print("请输入正确的数字!") author = input("请输入作者:") query = "insert into tsglxt (ISBN,name,press,price,author) values (%s,%s,%s,%s,%s)" values=(ISBN,name,press,price,author) cursor.execute(query,values) list.append(ISBN) conn.commit() # 提交 elif a==True: print("数据已经存在!") else: pri() break except Exception: print("请输入正确的数字!") # 删除 def dle(): global len global list a=False if len != 0: try: ISBN = int(input("请输入要删除的ISBN:")) for i in list: if i == ISBN: a = True break if ISBN != -1 and a==True: dessql = "delete from tsglxt where ISBN='%s'" % (ISBN) cursor.execute(dessql) conn.commit() list.remove(ISBN) print(list) pri() len =len - 1 elif a==False: print("没有查询到相关数据!") else: pri() except Exception: print("请输入正确的数字!") else: print('请先增加数据!') # 查询 def pri(): global len if len != 0: cursor.execute("select * from tsglxt") # 输出表的查询结果 for i in cursor.fetchall(): print('图书管理系统:', i) else: print('请先增加数据!') # 修改 def mod(): global len global list a=False if len != 0: try: ISBN = int(input("请输入要修改的ISBN:")) for i in list: if i == ISBN: a=True break if ISBN != -1 and a==True: for i in cursor.fetchall(): print('图书管理系统:', i) print("---11:修改书名---12:修改出版社---13:修改价格---14:修改作者---15:退出---") while True: choice = input("请输入相应修改操作>>") if choice == "11": name = input("请输入书名:") upssql = "update tsglxt set name='%s' where ISBN='%s'" % (name, ISBN) # 将学号为01的性别改为女 print(upssql) cursor.execute(upssql) conn.commit() # 提交 continue elif choice == "12": press = input("请输入出版社:") upssql = "update tsglxt set press='%s' where ISBN='%s'" % (press, ISBN) # 将学号为01的性别改为女 print(upssql) cursor.execute(upssql) conn.commit() # 提交 continue elif choice == "13": while True: try: price = int(input("请输入价格:")) break except Exception: print("请输入正确的数字!") upssql = "update tsglxt set price='%s' where ISBN='%s'" % (price, ISBN) # 将学号为01的性别改为女 cursor.execute(upssql) conn.commit() # 提交 continue elif choice == "14": author = input("请输入作者:") upssql = "update tsglxt set author='%s' where ISBN='%s'" % (author, ISBN) # 将学号为01的性别改为女 cursor.execute(upssql) conn.commit() # 提交 continue elif choice == "15": print("---已经成功退出!---") pri() break else: print("--------输入有误,请重新输入!--------") elif a==False: print("没有查询到相关数据!") pri() else: pri() except Exception: print("请输入正确的数字!") else: print('请先增加数据!') #定义主类 def main(): print("***图书管理系统***") print("---1:增加---2:删除---3:查询---4:修改---5:退出---") while True: choice = input("请输入相应数字操作>>") if choice == "1": add() continue elif choice == "2": dle() continue elif choice == "3": pri() continue elif choice == "4": mod() continue elif choice == "5": print("---已经成功退出系统!---") break else: print("--------输入有误,请重新输入!--------") #判断使用模块名是否正确,但是当前代码没使用引入模块,因此if语句不使用也能正常运行 if __name__=='__main__': # 调用main函数作为启动函数 main() # ----------关闭游标和连接---------- cursor.close() conn.close
python实现图书管理系统
最新推荐文章于 2022-06-12 02:30:29 发布