MySQL 数据库 图书管理系统图书借阅记录查询实战

MySQL 数据库阿木 发布于 8 天前 3 次阅读


图书管理系统图书借阅记录查询实战

随着信息技术的飞速发展,数据库技术在各个领域得到了广泛应用。图书管理系统作为信息管理的重要组成部分,其核心功能之一就是对图书借阅记录进行有效管理。本文将围绕MySQL数据库,通过一个图书借阅记录查询实战案例,展示如何使用代码编辑模型来实现这一功能。

系统需求分析

在开始编写代码之前,我们需要对图书管理系统中的图书借阅记录查询功能进行需求分析。以下是该功能的主要需求:

1. 数据表设计:设计图书、读者、借阅记录等数据表,并建立相应的关联关系。

2. 查询功能:实现按图书名称、读者姓名、借阅日期等条件查询借阅记录。

3. 界面展示:将查询结果以表格形式展示在界面上。

数据库设计

数据表设计

以下是图书管理系统中的主要数据表及其字段设计:

1. 图书表(books):

- book_id:图书ID(主键)

- book_name:图书名称

- author:作者

- publisher:出版社

- publish_date:出版日期

- category:类别

2. 读者表(readers):

- reader_id:读者ID(主键)

- name:姓名

- phone:电话

- email:邮箱

3. 借阅记录表(borrow_records):

- record_id:借阅记录ID(主键)

- book_id:图书ID(外键)

- reader_id:读者ID(外键)

- borrow_date:借阅日期

- return_date:归还日期

关系图

以下是图书管理系统数据表之间的关系图:


books


|


|---borrow_records


|


|---readers


MySQL数据库操作

创建数据库和表

sql

CREATE DATABASE IF NOT EXISTS library_management;


USE library_management;

CREATE TABLE IF NOT EXISTS books (


book_id INT AUTO_INCREMENT PRIMARY KEY,


book_name VARCHAR(100) NOT NULL,


author VARCHAR(100),


publisher VARCHAR(100),


publish_date DATE,


category VARCHAR(50)


);

CREATE TABLE IF NOT EXISTS readers (


reader_id INT AUTO_INCREMENT PRIMARY KEY,


name VARCHAR(100) NOT NULL,


phone VARCHAR(20),


email VARCHAR(100)


);

CREATE TABLE IF NOT EXISTS borrow_records (


record_id INT AUTO_INCREMENT PRIMARY KEY,


book_id INT,


reader_id INT,


borrow_date DATE,


return_date DATE,


FOREIGN KEY (book_id) REFERENCES books(book_id),


FOREIGN KEY (reader_id) REFERENCES readers(reader_id)


);


插入数据

sql

INSERT INTO books (book_name, author, publisher, publish_date, category) VALUES


('Java编程思想', '埃克尔', '电子工业出版社', '2000-01-01', '编程'),


('深入理解计算机系统', '兰德尔·E·布莱恩特', '机械工业出版社', '2000-01-01', '计算机科学'),


('算法导论', '托马斯·H·科赫', '机械工业出版社', '2000-01-01', '算法');

INSERT INTO readers (name, phone, email) VALUES


('张三', '13800138000', 'zhangsan@example.com'),


('李四', '13900139000', 'lisi@example.com');

INSERT INTO borrow_records (book_id, reader_id, borrow_date) VALUES


(1, 1, '2023-01-01'),


(2, 2, '2023-01-02');


代码实现

Python代码

以下是一个使用Python和MySQLdb模块实现图书借阅记录查询的示例代码:

python

import MySQLdb

连接数据库


db = MySQLdb.connect(host='localhost', user='root', passwd='password', db='library_management')


cursor = db.cursor()

查询条件


condition = "book_name = 'Java编程思想'"


params = []

执行查询


cursor.execute("SELECT FROM borrow_records WHERE %s", (condition,))


results = cursor.fetchall()

打印查询结果


for row in results:


print("借阅记录ID:%d, 图书ID:%d, 读者ID:%d, 借阅日期:%s" % row)

关闭数据库连接


cursor.close()


db.close()


HTML界面

以下是一个简单的HTML界面,用于展示查询结果:

html

<!DOCTYPE html>


<html>


<head>


<title>图书借阅记录查询</title>


</head>


<body>


<h1>图书借阅记录查询</h1>


<table border="1">


<tr>


<th>借阅记录ID</th>


<th>图书ID</th>


<th>读者ID</th>


<th>借阅日期</th>


</tr>


<!-- 动态插入查询结果 -->


</table>


</body>


</html>


总结

本文通过一个图书借阅记录查询实战案例,展示了如何使用MySQL数据库和Python代码实现图书管理系统中的查询功能。在实际开发过程中,可以根据需求对数据库设计、查询条件和界面展示进行优化和扩展。希望本文对您有所帮助。