目录
一.实验目的
1. 启用数据库T2。
2.将goods表中“雀巢咖啡”改为“雀巢咖啡条装” 。
3. 将goods表中所有商品的售价提升5%。
4. 修改category表中类别号“CN005”为“CN004”,注意会有什么情况发生?为什么?
5. 将2020年销售数量小于3的商品,售价打8折。
6. 把供应商“久润食品”供应的商品数量清零。
7. 删除购买“优乐美奶茶”,但购买数量低于3的销售记录。
8. 删除生产日期在2018年前的商品信息,注意会发生什么情况?为什么?该怎么才能真正实现删除操作。
9. 删除“卡夫食品”供应商供应的所有商品的销售记录。
10. 删除“ACC”学院所有学生的销售记录。
11. 删除goods表和salebill表中的所有数据,注意根据表之间的关系书写删除顺序。
12. 删除1997年以前出生的学生信息。
二.实验代码
1. 启用数据库T2。
use T2 go
2.将goods表中“雀巢咖啡”改为“雀巢咖啡条装” 。
update goods
set goodsname='雀巢咖啡条装'
where goodsname='雀巢咖啡'
3. 将goods表中所有商品的售价提升5%。
update goods
set saleprice=saleprice*1.05
4. 修改category表中类别号“CN005”为“CN004”,注意会有什么情况发生?为什么?
insert into category
values ('cn005','床上用品','被套、枕套、床单')
5. 将2020年销售数量小于3的商品,售价打8折。
update goods
set saleprice=0.8*saleprice
where goodsno in
(select goodsno from salebill where happentime like '%2020%'and number<3)
6. 把供应商“久润食品”供应的商品数量清零。
update goods
set number=0
where supplierno in
(select supplierno no from supplier
where suppliername='久润食品')
7. 删除购买“优乐美奶茶”,但购买数量低于3的销售记录。
delete from salebill
where number<3 and goodsno in
(select goodsno from goods
where goodsname='优乐美奶茶' )
8. 删除生产日期在2018年前的商品信息,注意会发生什么情况?为什么?该怎么才能真正实现删除操作。
delete from salebill
where goodsno in (select goodsno
from goods where YEAR(producttime)<2018)
delete from goods
where YEAR(producttime)<2018
9. 删除“卡夫食品”供应商供应的所有商品的销售记录。
delete from salebill
where goodsno in
(select goodsno from goods where supplierno
in
(select supplierno from supplier
where suppliername='卡天食品'))
10. 删除“ACC”学院所有学生的销售记录。
delete from salebill
where sno in
(select sno from student
where college='acc')
11. 删除goods表和salebill表中的所有数据,注意根据表之间的关系书写删除顺序。
delete salebill
delete goods
12. 删除1997年以前出生的学生信息。
delete from student
where year(birthyear)<1997
三.代码汇总
--实验三
--1
use T2 go
--2//
update goods
set goodsname='雀巢咖啡条装'
where goodsname='雀巢咖啡'
--3//
update goods
set saleprice=saleprice*1.05
--4//
--修改category表中类别号“CN005”为“CN004”
--第一步
select * from goods
insert into category
values ('cn005','床上用品','被套、枕套、床单')
--第二步
update goods
set categoryno='cn004'
where categoryno='cn005'
--出现外键冲突请重新建表插入更新
--5//
update goods
set saleprice=0.8*saleprice
where goodsno in
(select goodsno from salebill where happentime like '%2020%'and number<3)
--6//
update goods
set number=0
where supplierno in
(select supplierno no from supplier
where suppliername='久润食品')
--7//
--删除购买优乐美奶茶但购买数量低于3的销售记录
delete from salebill
where number<3 and goodsno in
(select goodsno from goods
where goodsname='优乐美奶茶' )
--8
--删除生产日期在2018年前的商品信息
delete from salebill
where goodsno in (select goodsno
from goods where YEAR(producttime)<2018)
delete from goods
where YEAR(producttime)<2018
--从字符串转换日期和/或时间时,转换失败。
--9//
--删除卡天食品供应商供应的所有商品记录
delete from salebill
where goodsno in
(select goodsno from goods where supplierno
in
(select supplierno from supplier
where suppliername='卡天食品'))
--10//
delete from salebill
where sno in
(select sno from student
where college='acc')
--11//
delete salebill
delete goods
--12//
delete from student
where year(birthyear)<1997