这篇文章主要介绍“python如何实现一个简单的图书管理系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python如何实现一个简单的图书管理系统”文章能帮助大家解决问题。

环境准备

安装mysql数据库

参考文章:

MySQL数据库怎么安装?如何配置?

mysql数据库如何启动?怎么使用?

创建数据库表

创建数据库

CREATE DATABASE bookmanage;

使用数据库

use bookmanage;

创建表

createtablebooks(idintunsignedprimarykeyauto_incrementnotnull,namevarchar(20)default“”,positionvarchar(40)default“”,statusenum(‘在库',‘出借')default‘在库',borrowervarchar(20)default“”);

插入数据

insert into books(name, position) value (‘python从入门到放弃', ‘A-1-1');

查询数据

select * from books where id=2;

修改数据

update books set name=‘python';

删除数据

delete from book where id=3;

代码实现

引入pymysql模块

安装pymysql

命令:pip install pymysql

封装操作数据库模块

#-*-coding:utf-8-*-"""===============================@Time:2021/5/1815:56@Author:flora.chen@FileName:handle_mysql.py@Software:PyCharm==============================="""importpymysqlclassMysqlDB:"""操作mysql数据库"""def__init__(self,host,user,pwd,database=None,port=3306):"""初始化数据库链接:paramhost:主机地址:paramuser:用户名:parampwd:密码:paramdatabase:数据库名称,默认为空:paramport:端口号,默认3306"""self.conn=pymysql.connect(host=host,user=user,password=pwd,database=database,port=port,cursorclass=pymysql.cursors.DictCursor)#创建一个游标对象self.cur=self.conn.cursor()defupdate(self,sql):"""进行增删改操作:paramsql:需要执行的SQL:return:"""#执行SQLresult=self.cur.execute(sql)#提交事务self.conn.commit()returnresultdefquery(self,sql,one=False):"""进行查询操作:paramone:判断是要返回所有查询数据还是第一条,默认是所有:paramsql:要执行的SQL:return:"""#执行SQLself.cur.execute(sql)ifone:returnself.cur.fetchone()else:returnself.cur.fetchall()defclose(self):"""断开游标,关闭数据库连接:return:"""self.cur.close()self.conn.close()if__name__=="__main__":db=MysqlDB(host="localhost",user="root",pwd="root")print(db.query("select*frombookmanage.books"))#db.update("insertintobookmanage.books(name,position)value('python从入门到放弃','A-1-1');")

图案管理系统后台实现

#-*-coding:utf-8-*-"""===============================@Time:2021/5/1816:39@Author:flora.chen@FileName:bookmanager.py@Software:PyCharm==============================="""fromhandle_mysqlimportMysqlDBdb=MysqlDB(host="localhost",database="bookmanage",user="root",pwd="root")classBookManage:"""图书管理系统"""@staticmethoddefprint_menu():"""菜单打印:return:"""print("---------------------菜单-------------------------")print("[1]:添加图书")print("[2]:修改图书")print("[3]:删除图书")print("[4]:查询图书")print("[5]:图书列表")print("[6]:出借图书")print("[7]:归还图书")print("[8]:退出")defadd_book(self):"""[1]:添加图书:return:"""print("****************添加图书****************")name=input("请输入书名:")position=input("请输入图书位置:")ifnameandposition:db.update("insertintobooks(name,position)value('{}','{}');".format(name,position))print("图书添加成功")else:print("书名或者图书位置不能为空,请重新输入!")num=input("继续添加请输入1,回车退回主菜单")ifnum=="1":self.add_book()defupdate_book(self):"""[2]:修改图书:return:"""print("****************修改图书****************")book_id=input("请输入需要修改的图书ID:")result=db.query("select*frombookswhereid={};".format(book_id),one=True)ifresult:print("当前数据为:{}".format(result))name=input("重新输入书名,不修改输入回车:")orresult["name"]position=input("重新输入位置,不修改输入回车:")orresult["position"]db.update("updatebookssetname='{}',position='{}'whereid={};".format(name,position,book_id))print("修改成功")else:print("您输入的图书ID不存在,请重新输入~")num=input("继续修改请输入1,回车退回主菜单")ifnum=="1":self.update_book()defdelete_book(self):"""[3]:删除图书:return:"""print("****************删除图书****************")book_id=input("请输入需要修改的图书ID:")result=db.query("select*frombookswhereid={};".format(book_id),one=True)ifresult:print("当前数据为:{}".format(result))confirm_num=input("确定需要删除这本书吗?确认请按1,取消请按2:")ifconfirm_num=="1":db.update("deletefrombookswhereid={};".format(book_id))print("删除成功")else:print("已确认不删除该书籍~")else:print("系统中未找到该书籍!")num=input("继续删除请输入1,回车退回主菜单")ifnum=="1":self.delete_book()defquery_book(self):"""[4]:查询图书:return:"""print("****************查询图书****************")name=input("请输入您要查询的图书名称(模糊匹配):")ifname:result=db.query("select*frombookswherenamelike'%{}%';".format(name))ifresult:print("当前查询到如下书籍信息:{}".format(result))else:print("未查询到相关书籍信息~")else:print("书名不能为空!")num=input("继续查询请输入1,回车退回主菜单")ifnum=="1":self.query_book()defbook_list(self):"""[5]:图书列表:return:"""print("****************图书列表****************")result=db.query("select*frombooks;")foriinresult:print("编号:{},书籍名:{},位置:{},状态:{},借阅人:{}".format(i["id"],i["name"],i["position"],i["status"],i["borrower"]))defborrow_book(self):"""[6]:出借图书:return:"""print("****************出借图书****************")book_id=input("请输入需要借阅的图书ID:")result=db.query("select*frombookswhereid={};".format(book_id),one=True)ifresult:ifresult["status"]=="出借":print("抱歉,该书已经借出!")else:whileTrue:borrower=input("请输入借阅者的名字:")ifborrower:db.update("updatebookssetborrower='{}'whereid={};".format(borrower,book_id))db.update("updatebookssetstatus='出借'whereid={};".format(book_id))print("图书借阅成功~")breakelse:print("借阅者的名字不能为空,请重新输入")else:print("未查询到相关书籍信息~")num=input("继续借阅请输入1,回车退回主菜单")ifnum=="1":self.borrow_book()defback_book(self):"""[7]:归还图书:return:"""print("****************归还图书****************")book_id=input("请输入需要归还的图书ID:")result=db.query("select*frombookswhereid={};".format(book_id),one=True)ifresult:ifresult["status"]=="在库":print("该书是在库状态,请确认图书编号是否正确!")else:db.update("updatebookssetstatus='在库'whereid={};".format(book_id))db.update("updatebookssetborrower=''whereid={};".format(book_id))print("书籍归还成功~")else:print("未查询到相关书籍信息~")num=input("继续归还书籍请输入1,回车退回主菜单")ifnum=="1":self.borrow_book()defquit(self):"""[8]:退出:return:"""print("****************退出****************")db.close()defmain(self):"""程序运行的流程控制:return:"""print("---------------欢迎进入图书管理系统----------------")whileTrue:self.print_menu()num=input("请输入选项:")ifnum=="1":self.add_book()elifnum=="2":self.update_book()elifnum=="3":self.delete_book()elifnum=="4":self.query_book()elifnum=="5":self.book_list()elifnum=="6":self.borrow_book()elifnum=="7":self.back_book()elifnum=="8":self.quit()breakelse:print("您的输入有误~请按照菜单提示输入,谢谢!")if__name__=="__main__":book=BookManage()book.main()

关于“python如何实现一个简单的图书管理系统”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。