一推网

当前位置: 首页 > 知识问答 > MySQL数据库期末考试编程题,有哪些是必须遵守的数据库编程规范?

知识问答

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

2025-09-21 16:41:28 来源:互联网转载

MySQL数据库期末考试编程题

题目描述:

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

1、图书信息表(Book):

书名(book_name):VARCHAR(100)

作者(author):VARCHAR(100)

出版年份(publish_year):YEAR

I***N(i***n):char(13)

库存数量(stock):INT

2、用户信息表(User):

用户名(username):VARCHAR(50)

密码(password):VARCHAR(50)

联系方式(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、插入一些示例数据到各个表中。

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,    i***n char(13),    stock INT,    PRIMARY KEY (i***n));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, i***n, stock) VALUES('The Great Gat***y', '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 Gat***y', '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 Gat***y';如果库存大于0,执行以下操作update Book SET stock = stock 1 WHERE book_name = 'The Great Gat***y';insert INTO Borrow (username, book_name, borrow_date, due_date) VALUES ('user1', 'The Great Gat***y', 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数据库编程题的答案。

上一篇:安全可靠,数据保护:深圳建网站确保您的网站信息安全无忧

下一篇:动态ddns指的是什么?使用花生壳怎么样进行ddns设置?