目录
第10关:视图1
任务描述
知识补充
答案
第11关:视图2
任务描述
知识补充
答案
第12关:用户
任务描述
知识补充
答案
本篇博客声明:所有题的答案不在一起,可以去作者博客专栏寻找其它文章。
第10关:视图1
任务描述
湖南人口hnpeople数据表如下所示
各字段含义如下
cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)
本关任务:
10.建立视图view1,显示区县人口大于100w的城市cs、区县qx和人口rk。
修改view1,将浏阳市的人口修改为1200000.
开始你的任务吧,祝你成功!
知识补充
(如何创建视图)
- CREATE [OR REPALCE] VIEW (视图名称) AS SELECT语句 + ...
(更新字段数据)
- UPDATE 表名 SET 字段名1=值1 ,字段名2=值2 , ...[ WHERE 条件];
答案
use rkpc; #代码开始 CREATE VIEW view1 AS SELECT cs,qx,rk FROM hnpeople WHERE rk>1000000; # 修改视图的字段数据其实就跟修改表一样的语法 UPDATE view1 SET rk='1200000' WHERE qx='浏阳市'; #代码结束 select * from view1;
第11关:视图2
任务描述
湖南人口hnpeople数据表如下所示
各字段含义如下
cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)
本关任务:12.建立视图view2,显示城市总人口大于500w的城市cs和总人口zrk,按总人口的降序排列。
开始你的任务吧,祝你成功!
知识补充
(记住当查询时涉及用聚合函数(COUNT()、SUM()、MAX() ...) 要注意使用 GROUP BY 配合)
- GROUP BY:分组查询
- DESC:降序排序 (配合 ORDER BY 使用)
答案
(写的时候可以分行,方便分析结构。因为分号是SQL语句的结束标志)
use rkpc; #代码开始 CREATE VIEW view2 AS SELECT cs , SUM(rk) AS zrk FROM hnpeople GROUP BY cs having zrk>5000000 ORDER BY zrk DESC; #代码结束f s select * from view2;
第12关:用户
任务描述
湖南人口hnpeople数据表结构如图所示,各字段含义如下
cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)本关任务:
12.建立用户user1,可以在所有机器上查询hnpeople数据表的所有字段。
开始你的任务吧,祝你成功!
知识补充
(创建用户。如果只允许本机:localhost,如果是所有机器:'%' )
- CREATE USER '用户名'@'主机名' [ IDENTIFIED BY '密码' ];
(权限管理——授予权限)
- GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
权限列表有:
ALL(所有权限)、SELECT(查询)、UPDATE(更新)、INSERT(插入)、CREATE(创建)、DELETE(删除) 等等....
(权限管理——撤销权限)
- REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
答案
use rkpc; #代码开始 CREATE user'user1'@'%'; # 任意主机用:'@' GRANT SELECT ON rkpc.hnpeople TO 'user1'@'%'; #代码结束 select host,db,table_name,Table_priv from mysql.tables_priv where user='user1';