【项目实训】图书馆借还书系统的视图

本文介绍了如何在MySQL中创建和使用视图,包括查询特定出版社的图书信息、读者类别信息,筛选未还书读者,按姓氏搜索借阅者,以及向视图中插入数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1) 创建一个视图,包含图书表book中的图书编号bid、书名bname、作者author、出版社publisher 和定价price,然后利用该视图查询出“人民邮电出版社”的图书信息。

创建视图的语句如下。

mysql> select bid as 图书编号, bname as 书名, author as 作者,
    -> publisher as 出版社, price as 定价
    -> from book where bid not in
    -> (select bid from borrow);

查询视图的语句如下。

mysql> select * from v_book
    -> where 出版社="人民邮电出版社";

(2)创建一个视图,包含读者表reader 中的读者姓名rname、性别sex和读者类别表readertype 中的类别名称typename,然后利用该视图查询出读者类别是“学生”的信息。

创建视图的语句如下。

mysql> create or replace view v_reader(读者姓名,性别,类别名称)
    -> as
    -> select reader.rname,sex,typename
    -> from reader join readertype on reader.typeno=readertype.typeno;

查询视图的语句如下。

mysql> select * from v_reader
    -> where 类别名称="学生";

(3)创建一个视图,包含尚未还书的读者编号rid、读者姓名rname、书名bname 和借书日期 borrowtime,然后利用该视图查询出所有尚未还书的读者信息。

创建视图的语句如下。

mysql> create or replace view v_reader(读者编号,读者姓名,书名,借书日期)
    -> as
    -> select a.rid,rname,bname,borrowtime
    -> from borrow c join reader a on a.rid=c.rid
    -> join book b on b.bid=c.bid
    -> where returntime is null;

查询视图的语句如下。

(4)创建一个视图,包含读者姓名rname 和书名bname,然后利用该视图查询出姓“李”的借阅了图书的读者信息,以及借阅图书的书名中包含“数据”的信息。

创建视图的语句如下。

mysql> create or replace view v_borrow(读者姓名,书名)
    -> as
    -> select rname,bname
    -> from borrow c join reader a on a.rid=c.rid
    -> join book b on b.bid=c.bid;

查询姓“李”的借阅了图书的读者信息的语句如下。

select * from v_borrow where 读者姓名 like "李%";

查询书名中包含“数据”的语句如下。

select * from v_borrow where 书名 like "%数据%";

(5)创建一个视图,包含读者表reader中的读者编号rid、读者姓名rname、性别sex 和读者类别编号typeno,然后向该视图中插入一条数据(55559999,李晓明,男,1)。

创建视图的语句如下。

mysql> create or replace view v_reader(读者编号,读者姓名,性别,读者类别编码)
    -> as
    -> select rid,rname,sex,typeno
    -> from reader
    -> with check option;

插入记录的语句如下。

mysql> insert into v_reader
    -> values("55559999","李晓明","男",1);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

婧婧子♔♔♔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值