Mysql第五次作业

这篇博客详细介绍了如何使用MySQL进行数据库操作,包括创建出版社和书籍表,插入数据,查询出版社和书籍信息,更新出版社负责人,以及执行复杂的SQL查询,如按出版时间分组、统计出版社数量和找出最早出版的书籍。

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

– 创建出版社表
CREATE TABLE public(
p_id INT PRIMARY KEY AUTO_INCREMENT, – 出版社ID
p_name VARCHAR(100), – 出版社名称
p_address VARCHAR(200) DEFAULT ‘北京市’, – 出版社地区
p_head VARCHAR(100) DEFAULT ‘未知’ – 出版社负责人
);

– 创建书籍表
CREATE TABLE book(
book_id INT PRIMARY KEY AUTO_INCREMENT, – 书籍ID
book_name VARCHAR(100) NOT NULL, – 名称
book_author VARCHAR(100) NOT NULL, – 作者
book_date DATETIME DEFAULT ‘2012-12-31’, – 出版时间
p_id INT, – 外键,出版社表
CONSTRAINT fk_p_id FOREIGN KEY (p_id) REFERENCES public(p_id) – 添加外键
);
– 添加数据
INSERT INTO public VALUES(NULL,‘吉林教育出版社’,‘吉林’,‘高岩’);
INSERT INTO public VALUES(NULL,‘海天教育出版社’,‘深圳’,‘未知’);
INSERT INTO book VALUES(NULL,‘三国演义’,‘罗贯中’,‘1984-09-01’,1);
INSERT INTO book VALUES(NULL,‘西游记’,‘吴承恩’,‘1984-01-01’,2);
– 查询
SELECT * FROM public;
在这里插入图片描述
SELECT * FROM book;在这里插入图片描述

– 修改海天出版社负责人的名字为’老王’
UPDATE public p SET p.p_head = ‘老王’;
– 新增一条java从入门到精通书籍.包括出版社(清华大学出版社).
INSERT INTO public VALUES(NULL,‘清华大学出版社’,‘未知’,‘未知’);
INSERT INTO book VALUES(NULL,‘java从入门到精通’,‘未知’,NULL,3);
– 四大名著:出版社与西游记相同,出版时间均为2013-01-01
INSERT INTO public VALUES(NULL,‘海天教育出版社’,‘吉林’,‘未知’);
INSERT INTO book VALUES(NULL,‘水浒传’,‘施耐庵’,‘2013-01-01’,4);
INSERT INTO public VALUES(NULL,‘海天教育出版社’,‘吉林’,‘未知’);
INSERT INTO book VALUES(NULL,‘红楼梦’,‘曹雪芹’,‘2013-01-01’,5);

/sql,html,面向对象从入门到精通,
出版社与<java从入门到精通(清华大学出版社—大毛)>一致.
出版时间均为2016-01-01
/

INSERT INTO public VALUES(NULL,‘清华大学出版社’,‘未知’,‘大毛’);
INSERT INTO book VALUES(NULL,‘sql,html,面向对象从入门到精通’,‘未知’,‘2016-01-01’,6);
在这里插入图片描述
在这里插入图片描述
– 查询书籍表 按出版时间分组,各时间段分别出版了几本书.
SELECT COUNT(),b.book_dateFROM book b GROUP BY b.book_date;
在这里插入图片描述
– 查询出版社表 各地区有多少个出版社
SELECT COUNT(
),p.p_address FROM public p GROUP BY p.p_address;
在这里插入图片描述
– 查询出版社表 出版的书籍大于1 的出版社
SELECT COUNT(), p.p_name FROM public p,book b WHERE p.p_id = b.p_id GROUP BY p.p_name HAVING COUNT()>1;
在这里插入图片描述
– 找出出版时间最早的书籍
SELECT b.book_name FROM book b WHERE b.book_date= (SELECT MIN(b1.book_date) FROM book b1);
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值