首页 > 数据库 >2021数据库期末一

2021数据库期末一

时间:2024-06-16 16:57:17浏览次数:35  
标签:hnpeople qx 数据库 人口 数据表 期末 2021 cs rk

目录

第1关:数据表结构修改1

任务描述

答案:

第2关:数据记录删除

任务描述

答案: 

第3关:数据表结构修改2

任务描述

答案:

第4关:数据记录修改

任务描述

答案:

第5关:数据查询一

任务描述

答案:

第6关:数据查询二

任务描述

答案:

第7关:数据查询三

任务描述

答案:

第8关:数据查询四

任务描述

答案:

第9关:索引

任务描述

答案:

第10关:视图1

任务描述

答案:

第11关:视图2

任务描述

答案:

第12关:用户

任务描述

答案:

第13关:存储过程1

任务描述

答案:

第14关:存储过程2

任务描述

答案:


第1关:数据表结构修改1

任务描述

湖南人口hnpeople数据表结构如图所示,各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)

hnpeople数据表结构

本关任务:

1.在湖南人口数据表(hnpeople)中增加老龄比例llbl字段 decimal类型,长度为5 小数位数为

2.

答案:
use rkpc;
#代码开始

alter table hnpeople add llbl decimal(5,2);

#代码结束
describe hnpeople;

第2关:数据记录删除

任务描述

湖南人口hnpeople数据表如下所示

湖南人口数据

各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)

本关任务:

4.删除数据记录 删除hnpeople数据表中城市cs为长沙市的数据记录

答案: 
use rkpc;
#代码开始

delete from hnpeople where cs="长沙市";

#代码结束
select * from hnpeople;

第3关:数据表结构修改2

任务描述

打开人口普查rkpc数据库,湖南人口hnpeople数据表结构如图所示,各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)

hnpeople数据表结构

本关任务:

2.将数据表字段人口rk改名为人口数量rksl字段,数据类型仍为整形int。

答案:
use rkpc;
#代码开始

alter table hnpeople change rk rksl int;
  
#代码结束
describe hnpeople;

第4关:数据记录修改

任务描述

湖南人口hnpeople数据表如下所示

湖南人口数据

各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)

本关任务:

3.修改湖南人口数据记录: 修改老年比例lnbl字段的值为老年old除以人口rk,再乘以100

答案:
use rkpc;
#代码开始

update hnpeople set llbl=old/rk*100;

#代码结束
select * from hnpeople;

第5关:数据查询一

任务描述

湖南人口hnpeople数据表如下所示

湖南人口数据

各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人) 本关任务:

5.查询城市cs为长沙市和株洲市,人口(rk)在500000到1000000之间的城市cs、区县qx、人口rk字段的信息,按人口从高到低排列

答案:
use rkpc;
#代码开始

select cs,qx,rk 
from hnpeople 
where (cs="长沙市" or cs="株洲市") and (rk>=500000 and rk<=1000000) 
order by rk desc;
 
#代码结束

第6关:数据查询二

任务描述

湖南人口hnpeople数据表如下所示

湖南人口数据

各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)

本关任务:

6.查询湖南人口hnpeople数据表中各城市的名称(cs)、总人口zrk、老年比率llbv(老年人数量/所有人数量乘以100)和性别比xbb(男性人口/女性人口)。

注意:老年比率、性别比需要保留两位小数。按总人口降序排列。

答案:
use rkpc;
#代码开始

select cs,sum(rk) 
as zrk , format(sum(old)/sum(rk)*100,2) as llbv , format(sum(man)/sum(woman),2) as xbb 
from hnpeople 
group by cs  
order by sum(rk) desc;

#代码结束

第7关:数据查询三

任务描述

本关任务: 人口普查rkpc数据库中hnpeople和hnyzbm两个数据表 湖南人口hnpeople数据表有城市cs、区县qx、人口rk等字段 数据如下所示

湖南人口数据

湖南邮政编码hnyzbm数据表有城市cs、区县qx、区县编码qxbm字段如下所示

湖南邮政编码

本关任务:

1.连接两个数据表,查询长沙市的区县qx、区县编码qxbm和人口rk三个字段的值。

答案:
use rkpc;
#代码开始

select hnpeople.qx,qxbm,rk 
from hnpeople,hnyzbm 
where hnpeople.qx=hnyzbm.qx and hnpeople.cs="长沙市";

#代码结束

第8关:数据查询四

任务描述

本关任务: 湖南人口hnpeople数据表有城市cs、区县qx、人口rk等字段 数据如下所示

湖南人口数据

本关任务:

8.查询hnpeople数据表中,人口多于区县平均人口的城市、区县和人口,按人口降序排列。

答案:
use rkpc;
#代码开始

select cs,qx,rk 
from hnpeople
where rk>(
           select avg(rk) 
           from hnpeople
          )
order by rk desc; 

#代码结束

第9关:索引

任务描述

湖南人口hnpeople数据表结构如图所示,各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人) hnpeople数据表结构

hnpeople数据表结构

本关任务:

9.在湖南人口数据表(hnpeople)中根据城市和区县两个字段建立主索引csqx。

答案:
use rkpc;
#代码开始
 
alter table hnpeople add primary key(cs, qx);
 
#代码结束
show index from hnpeople;

​

第10关:视图1

任务描述

湖南人口hnpeople数据表如下所示

湖南人口数据

各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)

本关任务:

10.建立视图view1,显示区县人口大于100w的城市cs、区县qx和人口rk。

修改view1,将浏阳市的人口修改为1200000.

答案:
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,按总人口的降序排列。

答案:
use rkpc;
#代码开始

create view view2
as 
select cs,sum(rk) as zrk
from hnpeople
group by cs
having zrk>5000000
order by zrk desc;

#代码结束
select * from view2;

第12关:用户

任务描述

湖南人口hnpeople数据表结构如图所示,各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)

hnpeople数据表结构

本关任务:

12.建立用户user1,可以在所有机器上查询hnpeople数据表的所有字段。

答案:
use rkpc;
#代码开始

-- 创建用户 user1 并设置密码
create user 'user1'@'%' identified by 'password';
-- 授予 user1 查询 hnpeople 表的权限
grant select on hnpeople to 'user1'@'%';

#代码结束
select host,db,table_name,Table_priv   from mysql.tables_priv  where  user='user1';

第13关:存储过程1

任务描述

湖南人口hnpeople数据表如下所示

湖南人口数据

各字段含义如下 cs(城市)、qx(区县)、rk(人口)、man(男)、woman(女)、child(儿童)、adult(成人)、old(老人)

本关任务:

13.建立存储过程xbcx,输入城市名称,返回该城市的男性人口百分比,女性人口百分比,要求保留两位小数。 调用该存储过程,将结果赋给变量@lx和@nx

答案:

实际上是查长沙市的男性人口百分比和女性人口百分比,题目中没说清楚

use rkpc;
#代码开始

delimiter //

create procedure xbcx(in city_name varchar(20), out lx decimal(5,2), out nx decimal(5,2))
begin

    -- 计算男性人口百分比
    select sum(man) * 100.0 / sum(man + woman) into lx
    from hnpeople
    where cs = city_name;

    -- 计算女性人口百分比
    select sum(woman) * 100.0 / sum(man + woman) into nx
    from hnpeople
    where cs = city_name;

end //

delimiter ;

call xbcx('长沙市', @lx, @nx);

#代码结束

select @lx,@nx;

第14关:存储过程2

任务描述

数据库人口普查rkpc有数据表qgrk,有省份sf、名称name、人口rk字段,数据如下所示

全国人口

有数据表qgqh,有省份sf、城市city、区县qx、代码dm字段,数据如下所示

全国区划

本关任务:

建立存储过程sfcx(in sfmc varchar(15)) 根据输入的省份名称,建立数据表sfxx,将该省的省份名称sf、城市city、区县qx\代码dm、人口rk各字段的信息存入到数据表数据表sfxx。

答案:

注意:qgqh表中的城市是图片中的cs,而不是文字中的city

use rkpc;
#代码开始

delimiter //

create procedure sfcx(in sfmc varchar(15))
begin

    -- 首先,创建新表sfxx,如果表不存在的话
    create table if not exists sfxx (
                                      sf varchar(15),
                                      cs varchar(50),
                                      qx varchar(50),
                                      dm varchar(50),
                                      rk int
                                  );

    -- 接着,向新表中插入数据
    insert into sfxx (sf, cs, qx, dm, rk)
    select qgrk.sf, qgqh.cs, qgqh.qx, qgqh.dm, qgrk.rk
    from qgrk
    join qgqh on qgrk.sf = qgqh.sf
    where qgrk.sf = '湖南省' and qgrk.name=qgqh.qx;

end //

delimiter ;

#代码结束

call sfcx("湖南省");
select * from sfxx;

标签:hnpeople,qx,数据库,人口,数据表,期末,2021,cs,rk
From: https://blog.csdn.net/qwertf123/article/details/139722245

相关文章

  • 嵌入式数据库_1.嵌入式数据库的定义及特点和分类
    1.嵌入式数据库的定义及特点1.1定义          嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。它们是使用精简代码编写的,对于......
  • 《软件性能测试分析与调优实践之路》第二版-手稿节选-Mysql数据库性能定位与分析
    在做MySQL数据的性能定位前,需要先知道MySQL查询时数据库内部的执行过程。只有弄清SQL的执行过程,才能对执行过程中的每一步的性能做定位分析。如图6-2-1所示。图6-2-1从图中可以看到,当查询出数据以后,会将数据先返回给执行器,此时执行器先将结果写到查询缓存里面,这样在下次查询相......
  • 1832javaERP管理系统之车间计划管理Myeclipse开发mysql数据库servlet结构java编程计算
    一、源码特点 javaerp管理系统之车间计划管理是一套完善的web设计系统,对理解JSPjava编程开发语言有帮助采用了serlvet设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使用java语言开发。......
  • OCP-043之:数据库备份操作
    1RMAN备份操作1.1基本操作基本的控制和数据文件备份RMAN>CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'/tmp/backup/cs_%F';newRMANconfigurationparameters:CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'/tmp/bac......
  • 达梦数据库常用的sql语句
    1、SQL的分类数据定义语言(DDL-DataDefinitionLanguage):用于定义数据库结构(模式、表、视图、索引等),DDL会自动提交事务。常见命令包括:CREATE:创建数据库对象(例如,表、视图、索引等)。ALTER:修改数据库对象的结构。DROP:删除数据库对象。TRUNCATE:删除表中的所有数据,但......
  • POS机SQL server数据库修复
    今天这个案例,是烟酒店的老板,一台超市收银系统损坏了,资讯云的管理系统描述的就是开机进不了系统,找不到硬盘,导致数据呢无法访问,索性能进去,可能也运行不了几分钟就直接关机或者是死机,一定要保证数据万无一失,它里面有一些销售的一些记录报表,包括一些会员卡的情况,就是每一个这种连锁......
  • 数据库面试题(持续更新中)
    1.oracle与mysql的区别1.对事务的提交   MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮2.分页查询   MySQL是直接在SQL语句中写"select...from...where...limit x,y",有limit就可以实现分页;而Oracl......
  • 数据库索引、河神、樵夫与《新华字典》
    0、结论1、回顾数据库设计与优化的基本原则:减少磁盘IO次数;2、数据库的设计从数据的存储组织结构,就开始考虑如何在后续读取、写入过程中减少磁盘IO次数,即数据本身先有序,才能提高检索的效率,比如折半查找(二分查找),数据库实际按照主键顺序存储组织数据;3、数据只能按照一种顺序存......
  • 水稻遗传育种相关生物信息数据库和工具
    本综述系统梳理了近20年来开发的水稻生物信息数据库和在线分析工具,并基于内置数据集和功能对它们进行了分类和总结。水稻基因组数据库水稻转录和转录后调控数据库水稻基因网络数据库水稻种质资源信息数据库水稻常用的基因编辑系统水稻基因编辑生物信息工具与数据库......
  • Java学习 - MySQL数据库中提到的 视图 是什么? 如何使用?
    视图是什么视图是一张虚拟的表,视图本质上保存的是SQL语句,而不是实际的数据当使用视图时,视图会根据保存的SQL语句动态生成虚拟的数据表视图的优点保密性好简化操作修改限制视图的语法创建视图CREATEVIEWIFNOTEXISTS视图名AS查询语句CREATEVIEWmyviewASSE......