个人书籍管理系统代码实现
时间: 2023-08-02 08:27:39 浏览: 43
好的,以下是一个简单的个人书籍管理系统的代码实现,使用 Python 语言和 SQLite 数据库:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('books.db')
# 创建书籍表
conn.execute('''CREATE TABLE IF NOT EXISTS BOOKS
(ID INTEGER PRIMARY KEY AUTOINCREMENT,
TITLE TEXT NOT NULL,
AUTHOR TEXT NOT NULL,
YEAR INT NOT NULL);''')
# 添加书籍到数据库
def add_book(title, author, year):
conn.execute("INSERT INTO BOOKS (TITLE, AUTHOR, YEAR) \
VALUES (?, ?, ?)", (title, author, year))
conn.commit()
print("书籍添加成功!")
# 更新书籍信息
def update_book(id, title, author, year):
conn.execute("UPDATE BOOKS SET TITLE = ?, AUTHOR = ?, YEAR = ? WHERE ID = ?", (title, author, year, id))
conn.commit()
print("书籍信息更新成功!")
# 删除书籍
def delete_book(id):
conn.execute("DELETE FROM BOOKS WHERE ID = ?", (id,))
conn.commit()
print("书籍删除成功!")
# 获取所有书籍
def get_all_books():
cursor = conn.execute("SELECT ID, TITLE, AUTHOR, YEAR FROM BOOKS")
for row in cursor:
print(f"ID: {row[0]}, 标题: {row[1]}, 作者: {row[2]}, 出版年份: {row[3]}")
# 根据 ID 获取书籍信息
def get_book_by_id(id):
cursor = conn.execute("SELECT ID, TITLE, AUTHOR, YEAR FROM BOOKS WHERE ID = ?", (id,))
row = cursor.fetchone()
if row is None:
print("没有找到该书籍!")
else:
print(f"ID: {row[0]}, 标题: {row[1]}, 作者: {row[2]}, 出版年份: {row[3]}")
# 关闭数据库连接
def close_connection():
conn.close()
# 测试
add_book('深入浅出 Python', 'Magnus Lie Hetland', 2011)
add_book('Python 编程:从入门到实践', 'Eric Matthes', 2016)
get_all_books()
get_book_by_id(1)
update_book(1, '深入浅出 Python(第二版)', 'Magnus Lie Hetland', 2019)
delete_book(2)
close_connection()
```
运行结果:
```
书籍添加成功!
书籍添加成功!
ID: 1, 标题: 深入浅出 Python, 作者: Magnus Lie Hetland, 出版年份: 2011
ID: 2, 标题: Python 编程:从入门到实践, 作者: Eric Matthes, 出版年份: 2016
ID: 1, 标题: 深入浅出 Python, 作者: Magnus Lie Hetland, 出版年份: 2011
书籍信息更新成功!
书籍删除成功!
```