MySQL数据库期末考试编程题,有哪些是必须遵守的数据库编程规范?

avatar
作者
筋斗云
阅读量:0

MySQL数据库期末考试编程题

MySQL数据库期末考试编程题,有哪些是必须遵守的数据库编程规范?

题目描述:

设计一个简单的图书管理系统,包括以下功能:

1、图书信息表(Book):

书名(book_name):VARCHAR(100)

作者(author):VARCHAR(100)

出版年份(publish_year):YEAR

ISBN(isbn):CHAR(13)

库存数量(stock):INT

2、用户信息表(User):

用户名(username):VARCHAR(50)

密码(password):VARCHAR(50)

MySQL数据库期末考试编程题,有哪些是必须遵守的数据库编程规范?

联系方式(contact):VARCHAR(100)

3、借阅信息表(Borrow):

借阅ID(borrow_id):INT,主键,自增

用户名(username):VARCHAR(50),外键,关联User表的username

书名(book_name):VARCHAR(100),外键,关联Book表的book_name

借阅日期(borrow_date):DATE

应还日期(due_date):DATE

实际还书日期(return_date):DATE

编程要求:

1、创建数据库和表。

2、插入一些示例数据到各个表中。

MySQL数据库期末考试编程题,有哪些是必须遵守的数据库编程规范?

3、编写SQL语句实现以下功能:

查询所有图书信息。

查询所有用户信息。

查询所有借阅信息。

查询所有库存数量小于5的图书。

查询特定用户名下所有借阅信息。

借阅图书(假设用户名和书名已知)。

归还图书(假设借阅ID已知)。

答案:

 1. 创建数据库 CREATE DATABASE IF NOT EXISTS LibraryManagementSystem; USE LibraryManagementSystem; 2. 创建图书信息表 CREATE TABLE IF NOT EXISTS Book (     book_name VARCHAR(100),     author VARCHAR(100),     publish_year YEAR,     isbn CHAR(13),     stock INT,     PRIMARY KEY (isbn) ); 3. 创建用户信息表 CREATE TABLE IF NOT EXISTS User (     username VARCHAR(50),     password VARCHAR(50),     contact VARCHAR(100),     PRIMARY KEY (username) ); 4. 创建借阅信息表 CREATE TABLE IF NOT EXISTS Borrow (     borrow_id INT AUTO_INCREMENT PRIMARY KEY,     username VARCHAR(50),     book_name VARCHAR(100),     borrow_date DATE,     due_date DATE,     return_date DATE,     FOREIGN KEY (username) REFERENCES User(username),     FOREIGN KEY (book_name) REFERENCES Book(book_name) ); 5. 插入示例数据 INSERT INTO Book (book_name, author, publish_year, isbn, stock) VALUES ('The Great Gatsby', 'F. Scott Fitzgerald', 1925, '9780743273565', 10), ('1984', 'George Orwell', 1949, '9780451524935', 5), ('To Kill a Mockingbird', 'Harper Lee', 1960, '9780061120084', 8); INSERT INTO User (username, password, contact) VALUES ('user1', 'password1', '1234567890'), ('user2', 'password2', '0987654321'); INSERT INTO Borrow (username, book_name, borrow_date, due_date, return_date) VALUES ('user1', 'The Great Gatsby', '20230401', '20230415', NULL), ('user2', '1984', '20230402', '20230416', NULL); 6. 查询所有图书信息 SELECT * FROM Book; 7. 查询所有用户信息 SELECT * FROM User; 8. 查询所有借阅信息 SELECT * FROM Borrow; 9. 查询所有库存数量小于5的图书 SELECT * FROM Book WHERE stock < 5; 10. 查询特定用户名下所有借阅信息 SELECT * FROM Borrow WHERE username = 'user1'; 11. 借阅图书(假设用户名和书名已知) 首先检查库存 SELECT stock FROM Book WHERE book_name = 'The Great Gatsby'; 如果库存大于0,执行以下操作 UPDATE Book SET stock = stock 1 WHERE book_name = 'The Great Gatsby'; INSERT INTO Borrow (username, book_name, borrow_date, due_date) VALUES ('user1', 'The Great Gatsby', CURDATE(), DATE_ADD(CURDATE(), INTERVAL 1 MONTH)); 12. 归还图书(假设借阅ID已知) UPDATE Borrow SET return_date = CURDATE() WHERE borrow_id = 1; UPDATE Book SET stock = stock + 1 WHERE book_name = (SELECT book_name FROM Borrow WHERE borrow_id = 1);

是按照题目要求完成的MySQL数据库编程题的答案。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!