图书管理系统-Python-(mysql)+user_operations

import pymysql

database = pymysql.connect(
    host='127.0.0.1',
    user='root',
    password='xxxx',
    charset='utf8',
    port=3306,
    database='spider10'
)
cursor = database.cursor(pymysql.cursors.DictCursor)


# 查询图书信息
def search_book_id_name():
    book_id = input("请输入图书ID:")
    book_name = input("请输入图书名称:")
    sql = "SELECT * FROM spider10.book_data WHERE book_id = %s or book_name = %s"
    cursor.execute(sql, (book_id, book_name))
    result = cursor.fetchone()
    if result:
        print(result)
        # print("共找到", len(result[]), "条图书信息")
        print("图书信息如下:", "------" * 100)
        for i in result:
            print("图书信息为:", i, ":", result[i])


def search_book_type():
    book_type = input("请输入图书类型:")
    sql = "SELECT * FROM spider10.book_data WHERE book_type = %s"
    cursor.execute(sql, (book_type,))
    result = cursor.fetchall()
    if result:
        print("共找到", len(result), "条图书信息")
        print("图书信息如下:", "------" * 100)
        for i in result:
            print(i)


# search_book_type()


def search_book_author():
    book_author = input("请输入图书作者:")
    sql = "SELECT * FROM spider10.book_data WHERE book_author = %s"
    cursor.execute(sql, (book_author,))
    result = cursor.fetchall()
    if result:
        print("共找到", len(result), "条图书信息")
        print("图书信息如下:", "------" * 100)
        for i in result:
            print(i)


# 借书
def borrow_book():
    book_id = input("请输入需要借图书的ID:")
    lend_book_number = int(input("请输入需要借阅的图书数量:"))
    sql = """
    select * from spider10.book_data where book_id=%s
    
    """
    cursor.execute(sql, (book_id,))
    result = cursor.fetchone()
    if result:
        lend_number = result['lend_number']

        if int(lend_number) >= lend_book_number:
            sql = """
                update spider10.book_data set lend_number=lend_number-%s where book_id=%s

                """
            cursor.execute(sql, (lend_book_number, book_id))
            database.commit()
            print(f"借阅成功!,已借阅{lend_book_number}本,还可借阅{int(lend_number) - lend_book_number}本")
            sql_2 = """
            update spider10.book_data set user_status="借阅中" where book_id=%s
            
            """
            cursor.execute(sql_2, (book_id,))
            database.commit()
            print("借阅状态已更新!")
        else:
            print("图书库存不足!")
    else:
        print("图书不存在!")
    return True


# borrow_book()


# 还书
def return_book():
    book_id = input("请输入需要还图书的ID:")
    return_book_num = int(input("请输入需要还的图书数量:"))
    sql = """
    select lend_number from spider10.book_data where book_id=%s and user_status="借阅中"
    
    """
    cursor.execute(sql, (book_id,))
    result = cursor.fetchone()
    if result:
        lend_number = return_book_num + result['lend_number']
        sql = """
        update spider10.book_data set lend_number=%s where book_id=%s
        
        """
        cursor.execute(sql, (lend_number, book_id))
        database.commit()
        print(f"还书成功!,已还{return_book_num}本,还可借阅{int(lend_number)}本")
    return True


def main():
    while True:
        print("1.查询图书信息")
        print("2.借阅图书")
        print("3.还书")
        print("4.退出系统")
        choice = input("请输入您的选择:")
        if choice == "1":
            print("图书信息查询")
            print("1.按图书ID和名称查询")
            print("2.按图书类型查询")
            print("3.按图书作者查询")
            choice_2 = input("请输入您的选择:")
            if choice_2 == "1":
                search_book_id_name()
            elif choice_2 == "2":
                search_book_type()
            elif choice_2 == "3":
                search_book_author()
            else:
                print("输入错误,请重新输入!")

        elif choice == "2":
            borrow_book()
        elif choice == "3":
            return_book()
        elif choice == "4":
            exit()
        else:
            print("输入错误,请重新输入!")


if __name__ == '__main__':
    main()

 本课题要求编写Python程序实现对图书信息录入、图书信息查询、图书借阅等方面的管理。一个综合的图书借阅管理系统,要求能够管理图书的基本信息(包含新图书入库、读者图书查询借阅等),需要实现以下功能:读取以数据文件形式存储的图书信息;管理员可以增加、修改、删除图书的信息;读者可以按照图书名、作者名、索书号等查询图书,并可通过该系统实现对图书的借阅、续借和归还;读者还可查询自己所借图书的信息(是否归还、归还日期等)。

要能提供以下几个基本功能:

(1)系统内的相关信息文件由程序设计人员预先从键盘上录入,文件中的数据记录不得少于20条;

(2)设计并实现系统的相关界面,提供良好的交互界面;

(3)登录时输入帐号以区分读者和管理员;

(4)读者信息查询:

  1. 图书查询借阅功能:输入一个书名(或索书号、作者等其他信息),查出相关图书的基本信息并显示输出,同时提示是否需要借阅该图书;
  2. “我的”功能:显示个人图书借阅历史,显示所借图书的状态(是否归还、归还日期)、并选择是否归还或续借。

(5)管理端信息查询:

管理员可以增加、修改、删除图书的信息。

一 、导入需要的模块

import pymsql

二、完成admin操作

这部分比较简单,主要都是一些单表查询,增删改查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值