教你用 Python 实现一个无界面的小型图书管理系统
简介
本文将介绍如何用 Python 实现一个无界面的小型图书管理系统。该图书管理系统包括以下功能:
- 显示所有图书
- 按照图书名称搜索图书
- 按照图书作者搜索图书
- 借出图书
- 归还图书
准备工作
在开始实现前,需要先安装 Python3 和相关模块。本文采用的是 SQLite 数据库,需要安装 SQLite3 模块。
安装方式:
-
安装 Python3(略)
-
安装 SQLite3 模块
pip install pysqlite3
数据库设计
在实现前,需要先设计数据库。本文使用了一张表格 books
,该表格包括以下字段:
字段名 | 类型 | 描述 |
---|---|---|
id | INTEGER | 图书ID |
name | TEXT | 图书名称 |
author | TEXT | 图书作者 |
borrowed | INTEGER | 是否被借出,0 表示未借出,1 表示已借出 |
设计 SQL 语句如下:
CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY,
name TEXT,
author TEXT,
borrowed INTEGER
);
实现步骤
创建数据库连接
首先,需要创建数据库连接,这里使用 SQLite3 连接,连接方式如下:
import sqlite3
conn = sqlite3.connect('books.db')
创建表格
接下来,需要创建表格,根据刚刚设计的 SQL 语句,在 Python 中实现如下:
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY,
name TEXT,
author TEXT,
borrowed INTEGER
)''')
添加图书
然后,需要实现添加图书的功能。添加图书需要用户输入图书的名称和作者,然后将图书插入到数据库中。实现示例如下:
def insert_book(conn, name, author):
cursor = conn.cursor()
cursor.execute("INSERT INTO books (name, author, borrowed) VALUES (?, ?, ?)", (name, author, 0))
conn.commit()
显示所有图书
接着,需要实现显示所有图书的功能。实现示例如下:
def display_all_books(conn):
cursor = conn.cursor()
cursor.execute("SELECT * FROM books")
rows = cursor.fetchall()
for row in rows:
print(row)
根据图书名称搜索图书
实现搜索功能。用户输入图书名称后,根据图书名称搜索图书,并将结果显示出来。实现示例如下:
def search_books_by_name(conn, name):
cursor = conn.cursor()
cursor.execute("SELECT * FROM books WHERE name=?", (name,))
rows = cursor.fetchall()
for row in rows:
print(row)
根据图书作者搜索图书
同样地,实现搜索功能。用户输入图书作者后,根据图书作者搜索图书,并将结果显示出来。实现示例如下:
def search_books_by_author(conn, author):
cursor = conn.cursor()
cursor.execute("SELECT * FROM books WHERE author=?", (author,))
rows = cursor.fetchall()
for row in rows:
print(row)
借出图书
实现借出功能。用户输入借出的图书 ID ,将 borrowed
字段置为 1
。实现示例如下:
def borrow_book(conn, id):
cursor = conn.cursor()
cursor.execute("UPDATE books SET borrowed=? WHERE id=?", (1, id,))
conn.commit()
归还图书
最后,实现归还功能。用户输入归还的图书 ID ,将 borrowed
字段置为 0
。实现示例如下:
def return_book(conn, id):
cursor = conn.cursor()
cursor.execute("UPDATE books SET borrowed=? WHERE id=?", (0, id,))
conn.commit()
总结
至此,一个无界面的小型图书管理系统就实现了。在实现该系统时,我们主要涉及了 Python 语言基础,SQLite3 数据库操作,以及实现命令行界面。
以上实现方式仅供参考,实际情况可能因需求不同而略有差异。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你用python实现一个无界面的小型图书管理系统 - Python技术站