MySQL 基础教程[11]
  TEZNKK3IfmPf 2023年11月14日 32 0
  • 问题1
  • 问题1代码
  • 问题2
  • 问题2代码
  • 本系列MySQL 基础教程通过“问题-代码”的方式介绍各类方法,每篇设置2个MySQL综合问题,并给出解决方案。

问题1

学生借阅图书信息数据库JY包含学生信息表student、图书信息表book和借阅信息表reading。表studenti己录学生的 学号、姓名、性别和年龄等信息; 表book记录图书的书号、书名、作者和价格等信息; 表reading描述图书借阅信息, 并记录为学生办理图书借阅的老师姓名。

  1. 在数据库JY中使用CREATE命令创建一个数据表publisher, 包括pub_id(社号)、pub_name(社名)、pub_address (地址) 等三个字段, 相应的数据类型分别为整型、字符串型(char(30))和字符串型(char(30)), 要求pub_id字段作为该 表的主键, pub_name和pub_address字段不能为空。
  2. 使用ALTER语句, 修改表book的结构, 添加一个名为pub_post的列, 用于关联图书的出版社信息, 该列值允许为 NULL, 数据类型为整型。
  3. 使用INSERT语句血表reading中添加如下一条借阅信息: 名为“wen"的老师为学号8的学生办理书号为 6 的图书借阅。
  4. 使用DELETE语句删除表reading中学号为 3 学生的借阅信息。
  5. 使用 SELECT语句查询书号为 3 的书名。

问题1代码

#【1】
use jy;
create table publisher (
pub_id int primary key auto_increment,
pub_name char(30) not null,
pub_address char(30) not null
);

#【2】
alter table book add column pub_post int default null; 
alter table book add constraint FK_book_pub_post foreign key(pub_post) references publisher(pub_id); 
alter table book add constraint FK_book foreign key(pub_post) references publisher(pub_id);

#【3】
show create table reading;
insert into reading values();
#【4】
delete from reading where no=3;
#【5】
select name from book where no=3;

问题2

  1. 创建一个名称为v_student的视图, 能够查询借阅了书名为“高等数学”的学生全部信息。

  2. 创建一个存储过程, 功能是将书名中含有“计算机”的所有图书价格增加 10 % 10 \% 10%

问题2代码

#【1】
USE JY;
CREATE view v_student
AS
SELECT stu_id, stu_name, stu_sex, stu_age
FROM student
WHERE student.stu_id in (SELECT reading.stu_no FROM reading, student
                            WHERE reading.book_no=book.book_id 
                            AND book.book_name='高等数学');


#【2】
USE JY;
DELIMITERS $$
CREATE procedure sp_update_price
BEGIN 
  UPDATE book SET price=price*1.1 WHERE book_name like "%计算机%";
END $$
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   27   0   0 sqlite数据库
  TEZNKK3IfmPf   2024年05月31日   31   0   0 数据库mysql
  TEZNKK3IfmPf   2024年05月31日   27   0   0 数据库mysql