给我写一个图书管理系统
时间: 2023-11-28 15:47:16 浏览: 35
好的,下面是一个简单的图书管理系统的示例代码,使用Python和SQLite数据库:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('library.db')
c = conn.cursor()
# 创建图书表
c.execute('''CREATE TABLE IF NOT EXISTS books
(id INTEGER PRIMARY KEY,
title TEXT,
author TEXT,
year INTEGER,
availability BOOLEAN)''')
# 添加图书
def add_book(title, author, year):
c.execute("INSERT INTO books (title, author, year, availability) VALUES (?, ?, ?, ?)", (title, author, year, True))
conn.commit()
# 删除图书
def remove_book(id):
c.execute("DELETE FROM books WHERE id=?", (id,))
conn.commit()
# 修改图书
def update_book(id, title=None, author=None, year=None, availability=None):
query = "UPDATE books SET "
query_params = []
if title:
query += "title=?,"
query_params.append(title)
if author:
query += "author=?,"
query_params.append(author)
if year:
query += "year=?,"
query_params.append(year)
if availability is not None:
query += "availability=?,"
query_params.append(availability)
query = query.rstrip(',')
query += " WHERE id=?"
query_params.append(id)
c.execute(query, query_params)
conn.commit()
# 查找图书
def search_books(title=None, author=None, year=None, availability=None):
query = "SELECT * FROM books WHERE 1=1"
query_params = []
if title:
query += " AND title LIKE ?"
query_params.append('%' + title + '%')
if author:
query += " AND author LIKE ?"
query_params.append('%' + author + '%')
if year:
query += " AND year=?"
query_params.append(year)
if availability is not None:
query += " AND availability=?"
query_params.append(availability)
c.execute(query, query_params)
return c.fetchall()
# 测试
add_book('The Great Gatsby', 'F. Scott Fitzgerald', 1925)
add_book('To Kill a Mockingbird', 'Harper Lee', 1960)
add_book('1984', 'George Orwell', 1949)
print(search_books(author='Fitzgerald'))
# 输出 [(1, 'The Great Gatsby', 'F. Scott Fitzgerald', 1925, 1)]
update_book(1, year=1926)
print(search_books(author='Fitzgerald'))
# 输出 [(1, 'The Great Gatsby', 'F. Scott Fitzgerald', 1926, 1)]
remove_book(1)
print(search_books(author='Fitzgerald'))
# 输出 []
```
这个系统主要有四个功能:添加图书、删除图书、修改图书和查找图书。可以根据需要进行修改和扩展。