本关任务: 第一题 建立视图ckyg,查询gzry数据表中部门bm为仓库的员工的所有字段的信息 第二题 在视图ckyg中,插入gyh雇员号为019,姓名gyxm为李盛,部门bm为仓库的数据。 第三题 在视图ckyg中,删除姓名为赵国庆的数据 第四题 在视图ckyg中,将王文武的电话改为13319660678
提示: 在数据来源于多表的视图中,不能插入和删除数据 开始你的任务吧,祝你成功!
use sale;
#代码开
create view ckyg as select * from gzry where bm='仓库';
#题目2
insert into ckyg(gyh,gyxm,bm)values('019','李盛','仓库');
#题目3
delete from ckyg where gyxm='赵国庆';
#题目4
update ckyg set dh='13319660678' where gyxm='王文武';
#代码结束
select * from gzry;
本关任务: 根据工作人员gzry、销售单xsd、顾客gk数据表建立视图 为了完成本关任务,你需要掌握:
如何建立视图
建立视图
视图是从数据库中一个或多个表中导出来的虚拟表。 包含一系列有名称的数据列和若干数据行。 建立视图的命令格式:
CREATE [OR REPLACE]
VIEW view_name [(column_list)]
AS SELECT_statement
view_name是视图的名称
打开sale数据库 建立xsdxx视图,包含销售单号xsdh、雇员号gyh、雇员姓名gyxm、会员号hyh、会员姓名name、销售日期xsrq、实际付款sjfk字段。
开始你的任务吧,祝你成功!
use sale;
#代码开始
create view xsdxx as select xsd.xsdh,xsd.gyh,gzry.gyxm,xsd.hyh,gk.name,xsd.xsrq,xsd.sjfk
from xsd
left join gzry on gzry.gyh=xsd.gyh
left join gk on gk.hyh=xsd.hyh;
#代码结束
select * from xsdxx;
任务: 根据xsdxx视图建立视图
为了完成本关任务,你需要掌握: 第一题: 根据xsdxx视图建立视图xsdhytj,显示会员号hyh,姓名name和实际付款sjfk的合计金额(命名为hjje) 按合计金额的降序排列
第二题: 根据xsdxx视图建立视图xsdgytj,显示雇员号gyh,姓名xm和实际付款sjfk的合计金额(命名为hjje) 按合计金额的降序排列
use sale
#代码开始
#第一题
CREATE VIEW hytjcx AS
SELECT hyh, name, SUM(sjfk) AS hjje
FROM xsdxx
GROUP BY hyh, name
ORDER BY hjje DESC;
#第二题
CREATE VIEW gytjcx AS
SELECT gyh, gyxm, SUM(sjfk) AS hjje
FROM xsdxx
GROUP BY gyh
ORDER BY hjje DESC;
#代码结束
select * from hytjcx;
select * from gytjcx;
本关任务:在视图中修改数据
在视图中,可以通过update命令更新数据 但是,如果是计算字段则无法更新。
在视图xsdxx中,将工作人员gyxm王强的销售日期xsrq2015-6-3的会员名name刘海东的订单的实际付款sjfk设置为800 观察视图xsdgytj和xsdhytj的变化
开始你的任务吧,祝你成功!
use sale;
#代码开始
UPDATE xsdxx
SET sjfk = 800
WHERE gyxm = '王强' AND xsrq = '2015-6-3' AND name = '刘海东';
#代码结束
select * from xsdhytj;
select * from xsdgytj;