(2)设计实现一个图书管理系统。图书信息存放到一个数据库中,图书包含信息:图书号、图书名、作者、价格。请实现对图书的增删改查操作。
时间: 2024-03-22 10:36:49 浏览: 94
设计实现一个图书管理系统。图书信息存放到一个数据库中。图书
好的,我可以为您提供一个简单的图书管理系统设计方案。
首先,我们需要建立一个图书表,包含以下字段:
- id:图书号,主键,自增
- name:图书名
- author:作者
- price:价格
接下来,我们可以编写一个简单的后端程序,使用 SQL 语句来实现增删改查操作。例如,使用 Python 和 Flask 框架可以实现以下代码:
```python
from flask import Flask, request, jsonify
import sqlite3
app = Flask(__name__)
DATABASE = 'books.db'
def get_db():
db = getattr(g, '_database', None)
if db is None:
db = g._database = sqlite3.connect(DATABASE)
return db
@app.route('/books', methods=['GET'])
def get_books():
db = get_db()
cursor = db.cursor()
cursor.execute('SELECT * FROM books')
books = cursor.fetchall()
return jsonify(books)
@app.route('/books', methods=['POST'])
def add_book():
db = get_db()
cursor = db.cursor()
book = request.get_json()
cursor.execute('INSERT INTO books (name, author, price) VALUES (?, ?, ?)', (book['name'], book['author'], book['price']))
db.commit()
return jsonify({'message': 'Book added successfully'})
@app.route('/books/<int:id>', methods=['PUT'])
def update_book(id):
db = get_db()
cursor = db.cursor()
book = request.get_json()
cursor.execute('UPDATE books SET name=?, author=?, price=? WHERE id=?', (book['name'], book['author'], book['price'], id))
db.commit()
return jsonify({'message': 'Book updated successfully'})
@app.route('/books/<int:id>', methods=['DELETE'])
def delete_book(id):
db = get_db()
cursor = db.cursor()
cursor.execute('DELETE FROM books WHERE id=?', (id,))
db.commit()
return jsonify({'message': 'Book deleted successfully'})
if __name__ == '__main__':
app.run()
```
这个程序使用 SQLite 数据库来存储图书信息,提供了四个 API:
- GET /books:获取所有图书信息
- POST /books:添加一本新书
- PUT /books/:id:更新一本图书的信息
- DELETE /books/:id:删除一本图书
您可以使用 Postman 或类似的工具来测试这些 API,例如发送 POST 请求来添加一本新书:
```json
{
"name": "Python 编程从入门到实践",
"author": "Eric Matthes",
"price": 59.9
}
```
这个程序只是一个简单的示例,您可以根据实际需求进行修改和扩展。例如,您可以添加用户认证和授权机制来保护 API,或者使用更强大的数据库和 ORM 框架来提高性能和可维护性。
阅读全文