复制
收藏
提问
简洁
cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人) 本关任务: 10.建立视图view1,显示区县人口大于100w的城市cs、区县qx和人口rk。 修改view1,将浏阳市的人口修改为1200000.
4月前
回答
更专业一些
根据您提供的信息,以下是针对任务的详细解答:
任务一:建立视图view1
要建立一个视图view1
,显示区县人口大于100万的城市cs
、区县qx
和人口rk
,可以参考以下SQL语句:
CREATE VIEW view1 AS SELECT cs, qx, rk FROM population WHERE rk > 1000000;
这个语句创建了一个视图view1
,它从population
表中选择城市cs
、区县qx
和人口rk
,其中人口rk
大于100万。6
任务二:修改view1视图
要修改视图view1
,将浏阳市的人口修改为120万,需要使用ALTER VIEW
语句。但是,根据您提供的信息,ALTER VIEW
语句的使用需要用户具有针对视图的CREATE VIEW
和DROP
权限,以及由SELECT
语句选择的每一列上的某些权限。17
然而,根据5和6,视图的修改通常涉及到对基础表的修改,而不是直接修改视图本身。因此,要实现这个任务,我们需要先找到浏阳市在population
表中的记录,然后更新其人口数。以下是可能的SQL语句:
UPDATE population SET rk = 1200000 WHERE cs = '浏阳市';
这个语句将population
表中城市为浏阳市的记录的人口rk
更新为120万。请注意,这个操作实际上是在修改基础表population
,而不是视图view1
。56
结论
要完成本关任务,首先需要创建视图view1
,然后通过更新基础表population
来间接修改视图中浏阳市的人口数据。直接修改视图本身通常不是推荐的做法,因为视图是基础表的抽象,其数据来源于基础表。3