MySQL数据库中对表进行创建,插入数据并对数据进行选择

news2024/11/16 17:53:04

 

目录

 1.根据此图进行建表并插入数据

 2.对表进行以下操作

a:显示所有职工的基本信息

b:查询所有职工所属部门的部门号,不显示重复的部门号

c:求出所有职工的人数

d:列出最高工和最低工资

e:列出职工的平均工资和总工资

f:创建一个只有职工号、姓名和参加工作的新表,名为工作日期表

g:列出1960年以前出生的职工的姓名、参加工作日期

h:列出工资在1000一2000之间的所有职工姓名

i:列出所有陈姓和李姓的职工姓名

j:列出所有部门号为102和103的职工号、姓名、党员否

k:将职工表worker中的职工按出生的先后顺序排序

l:显示工资最高的前3名职工的职工号和姓名

m:求出各部门党员的人数

n:统计各部门的工资和平均工资

o:列出总人数大于4的部门号和总人数


 1.根据此图进行建表并插入数据
#建表
mysql> create table worker(
    -> department_id int(11) not null comment '部门号',
    -> worker_id int(11) primary key not null comment '职工号',
    -> worker_date date not null comment '工作时间',
    -> wages float(8,2) not null comment '工资',
    -> politics varchar(10) not null default '群众' comment '政治面貌',
    -> name varchar(20) not null comment '姓名',
    -> borth_date date not null comment '出生日期'
    -> )engine=InnoDB default charset=utf8 row_format=dynamic;
#向表中插入数据
mysql> insert into worker (department_id,worker_id,worker_date,wages,politics,name,borth_date) values (101,1001,'2015-5-4',3500.00,'群众','张三','1990-7-1');
Query OK, 1 row affected (0.00 sec)

mysql> insert into worker (department_id,worker_id,worker_date,wages,politics,name,borth_date) values (101,1002,'2017-2-6',3200.00,'团员','李四','1997-2--8');
Query OK, 1 row affected (0.00 sec)

mysql> insert into worker (department_id,worker_id,worker_date,wages,politics,name,borth_date) values (102,1003,'2011-1-4',8500.00,'党员','王亮','1983-6-8');
Query OK, 1 row affected (0.00 sec)

mysql> insert into worker (department_id,worker_id,worker_date,wages,politics,name,borth_date) values (102,1004,'2016-10-10',5500.00,'群众','赵六','1994-9-5');
Query OK, 1 row affected (0.00 sec)

mysql> insert into worker (department_id,worker_id,worker_date,wages,politics,name,borth_date) values (102,1005,'2014-4-1',4800.00,'党员','钱七','1992-12-30');
Query OK, 1 row affected (0.00 sec)

mysql> insert into worker (department_id,worker_id,worker_date,wages,politics,name,borth_date) values (102,1006,'2017-5-5',4500.00,'党员','孙八','1996-92-2');
Query OK, 1 row affected (0.00 sec)
 2.对表进行以下操作
a:显示所有职工的基本信息
mysql> select *from worker;
+---------------+-----------+-------------+---------+----------+--------+------------+
| department_id | worker_id | worker_date | wages   | politics | name   | borth_date |
+---------------+-----------+-------------+---------+----------+--------+------------+
|           101 |      1001 | 2015-05-04  | 3500.00 | 群众     | 张三   | 1990-07-01 |
|           101 |      1002 | 2017-02-06  | 3200.00 | 团员     | 李四   | 1997-02-08 |
|           102 |      1003 | 2011-01-04  | 8500.00 | 党员     | 王亮   | 1983-06-08 |
|           102 |      1004 | 2016-10-10  | 5500.00 | 群众     | 赵六   | 1994-09-05 |
|           102 |      1005 | 2014-04-01  | 4800.00 | 党员     | 钱七   | 1992-12-30 |
|           102 |      1006 | 2017-05-05  | 4500.00 | 党员     | 孙八   | 1996-09-02 |
+---------------+-----------+-------------+---------+----------+--------+------------+
6 rows in set (0.00 sec)
b:查询所有职工所属部门的部门号,不显示重复的部门号
mysql> select distinct department_id from worker;
+---------------+
| department_id |
+---------------+
|           101 |
|           102 |
+---------------+
2 rows in set (0.01 sec)
c:求出所有职工的人数
mysql> select count(name) from worker;
+-------------+
| count(name) |
+-------------+
|           6 |
+-------------+
1 row in set (0.01 sec)
d:列出最高工和最低工资
mysql> select max(wages) as '最高工资',min(wages) as '最低工资' from worker; 
+--------------+--------------+
| 最高工资     | 最低工资     |
+--------------+--------------+
|      8500.00 |      3200.00 |
+--------------+--------------+
1 row in set (0.00 sec)

mysql> 
e:列出职工的平均工资和总工资
mysql> select avg(wages) as '平均工资',sum(wages) as '总工资' from worker;
+--------------+-----------+
| 平均工资     | 总工资    |
+--------------+-----------+
|  5000.000000 |  30000.00 |
+--------------+-----------+
1 row in set (0.00 sec)
f:创建一个只有职工号、姓名和参加工作的新表,名为工作日期表
mysql> create table workdate select worker_id,name from worker;
Query OK, 6 rows affected (0.01 sec)
Records: 6  Duplicates: 0  Warnings: 0
g:列出1960年以前出生的职工的姓名、参加工作日期
mysql> select name,worker_date from worker where borth_date < '1960-1-1';
Empty set (0.00 sec)
h:列出工资在1000一2000之间的所有职工姓名
mysql> select name from worker where wages > 1000 and wages < 2000;
Empty set (0.00 sec)
i:列出所有陈姓和李姓的职工姓名
mysql> select name from worker where name like '陈%' or name like '李%';
+--------+
| name   |
+--------+
| 李四   |
+--------+
1 row in set (0.01 sec)
j:列出所有部门号为102和103的职工号、姓名、党员否
mysql> select worker_id,name from worker where politics!='党员' and department_id<=>102 or department_id<=>103;
+-----------+--------+
| worker_id | name   |
+-----------+--------+
|      1004 | 赵六   |
+-----------+--------+
1 row in set (0.00 sec)
k:将职工表worker中的职工按出生的先后顺序排序
mysql> select borth_date from worker order by borth_date;
+------------+
| borth_date |
+------------+
| 1983-06-08 |
| 1990-07-01 |
| 1992-12-30 |
| 1994-09-05 |
| 1996-09-02 |
| 1997-02-08 |
+------------+
6 rows in set (0.00 sec)
l:显示工资最高的前3名职工的职工号和姓名
mysql> select worker_id,name from worker order by wages desc  limit 0,3;
+-----------+--------+
| worker_id | name   |
+-----------+--------+
|      1003 | 王亮   |
|      1004 | 赵六   |
|      1005 | 钱七   |
+-----------+--------+
3 rows in set (0.00 sec)
m:求出各部门党员的人数
mysql> select department_id,count(name) from worker where politics='党员'group by department_id;
+---------------+-------------+
| department_id | count(name) |
+---------------+-------------+
|           102 |           3 |
+---------------+-------------+
1 row in set (0.00 sec)
n:统计各部门的工资和平均工资
mysql> select department_id,sum(wages),avg(wages) from worker group by department_id;
+---------------+------------+-------------+
| department_id | sum(wages) | avg(wages)  |
+---------------+------------+-------------+
|           101 |    6700.00 | 3350.000000 |
|           102 |   23300.00 | 5825.000000 |
+---------------+------------+-------------+
2 rows in set (0.00 sec)
o:列出总人数大于4的部门号和总人数
mysql> select department_id,count(department_id) from worker group by(department_id) having count(department_id) > 4;
Empty set (0.00 sec)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/734764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

123.HTML5+CSS3完结_使用Netlify收取表单

Netlify也可以做表单接受&#xff1a; 我们启动一下 修改下表单 ● 接着在我们的网站输入并提交表单 ● 之后会有一个提示&#xff0c;提示我们提交成功 然后就能在Netlify接受到用户的表单 ● 当然这个表单只能接受100个&#xff0c;但是作为实验也够用了 到此&a…

文字磨练课程:提高编辑和校对效率的方法

提高编辑和校对效率&#xff0c;可以使你更有效地完成写作任务&#xff0c;提升文章质量。以下是一些方法&#xff0c;可以帮助你在编辑和校对过程中提高效率。 1.设定目标和计划 在开始编辑和校对前&#xff0c;设定明确的目标和计划。这可以帮助你集中注意力&#xff0c;提…

【SQL应知应会】表分区(一)• MySQL版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 分区表 • MySQL版 一、分区表1.非分区表2.分区表2…

整齐有序!统一命名文件,高效管理数据轻松实现!

在数字化时代&#xff0c;我们每天都与大量文件打交道&#xff0c;文件名杂乱无章、难以辨识的情况是司空见惯的。这不仅浪费我们宝贵的时间&#xff0c;还可能导致信息混乱和数据丢失。但是&#xff0c;抛开这一切困扰吧&#xff01;现在&#xff0c;我们向您介绍一个简单却强…

C++—string类

本期我们来学习C的string&#xff0c;本期内容相当的多&#xff0c;且有一定难度&#xff0c;需要大家静下心来看 目录 1.标准库中的string 1.1string类的介绍 1.2 string类的常用接口 构造函数、析构函数、赋值、拷贝构造 npos push_back append operator[ ] size …

什么是ASPICE认证

ASPICE&#xff1a; “AutomotiveSoftware ProcessImprovement and CapacityDetermination”&#xff0c;即汽车软件过程改进及能力评定。它是一个过程模型&#xff0c;由过程和能力度两个维度构成&#xff0c;用于评价汽车行业软件设计开发的能力水平。 ASPICE的6个级别&…

基于simulink进行场景变化检测(附源码)

一、前言 此示例演示如何及时分割视频。此示例中的算法可用于检测视频流中的重大变化&#xff0c;例如广告开始和结束的时间。场景变换在广告和营销中被广泛应用。通过改变场景&#xff0c;可以吸引消费者的注意力&#xff0c;传达产品或服务的特点和优势。例如&#xff0c;将…

包揽七项葵花奖 参编多项标准 萤石领跑智能家居+物联网云平台行业

7月9日&#xff0c;2023第七届“葵花奖”智能家居评选颁奖盛典在广交会展馆举行&#xff0c;萤石网络一举斩获7项重磅奖项。同时&#xff0c;萤石作为参编单位&#xff0c;受邀参与了《智能门锁测评标准》发布仪式及《智能开关测评标准》启动会&#xff0c;再次彰显了其在智能家…

【一些随笔】浅析 Linux和Windows:系统介绍、操作差异与使用技巧解析

一些随笔 文章内容1️⃣ 那些在Linux上顺理成章&#xff0c;换到Windows上就可能令人费解的事2️⃣ Linux系统介绍及使用技巧3️⃣ Windows系统介绍及使用技巧 文章内容 Linux和Windows系统的操作差异&#xff1b;Linux系统介绍、系统监控和优化技巧、Shell脚本编程技巧、一些…

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱

文章目录 前言文件的基本操作打开文件操作关闭文件操作对文件进行操作1&#xff09;只读文件操作read()readlines()readline()seek() 2&#xff09;只写文件操作3&#xff09;文件追加操作读写、追加读写操作1. r 模式打开文件2. w 模式打开文件3. a 模式打开文件 以二进制的形…

走向 Native 化:SpringDubbo AOT 技术示例与原理讲解

作者&#xff1a;刘军 Java 应用在云计算时代面临“冷启动”慢、内存占用高、预热时间长等问题&#xff0c;无法很好的适应 Serverless 等云上部署模式&#xff0c;GraalVM 通过静态编译、打包等技术在很大程度上解决了这些问题&#xff0c;同时针对 GraalVM 的一些使用限制&a…

用了国产接口管理神器 Apifox 之后,我果断从 Postman “脱坑”了

在当前行业发展背景下&#xff0c;绝大部分项目都是基于前后端分离的架构进行的&#xff0c;由前后端、测试、运维等不同的团队共同开发&#xff0c;那么团队之间能否很好的 协同合作 无疑直接决定着项目的最终效果。 但是在实际开发流程中&#xff0c;团队之间的协同是很低效…

网络编程5——TCP协议的五大效率机制:滑动窗口+流量控制+拥塞控制+延时应答+捎带应答

文章目录 前言一、TCP协议段与机制TCP协议的特点TCP报头结构TCP协议的机制与特性 二、TCP协议的 滑动窗口机制 三、TCP协议的 流量控制机制 四、TCP协议的 拥塞控制机制 五、TCP协议的 延时应答机制 六、TCP协议的 捎带应答机制 总结 前言 本人是一个普通程序猿!分享一点自己的…

c语言进阶-printf的用法拓展

Printf函数打印方法拓展&#xff1a; 字符串赋值给指针&#xff0c;相当于把h的地址赋值给p了。 printf函数直接放字符串也是把首地址给printf&#xff0c;然后printf从首地址打印到\0。 打印时可以直接传p地址

IDEA使用教程

1. 查看代码历史版本 若要查看特定 Java 类的代码历史版本&#xff0c;请执行以下操作&#xff1a; 鼠标右键点击所需查看的 Java 类。 在弹出菜单中选择 "Local History"&#xff08;本地历史&#xff09; >> "Show History"&#xff08;显示历史…

云尚办公项目-搭建环境

硅谷项目&#xff0c;由尚硅谷分享&#xff0c;具体项目视频可以根据B站尚硅谷进行学习。搭建项目可以直接根据Spring Boot进行获取&#xff0c;本次主要是个人的的一些分析操作 后面代码主要以分析为主&#xff0c;相关内容不会的&#xff0c;可以观看尚硅谷视频 一、下载配套…

MySQL数据库——多表查询练习

一、练习素材 创建表 -- 创建部门表 create table if not exists dept3( deptno varchar(20) primary key , -- 部门号 name varchar(20) -- 部门名字 );-- 创建员工表 create table if not exists emp3( eid varchar(20) primary key , -- 员工编号 ename varchar(20), -- 员…

【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块6

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

详解c++---布隆过滤器

目录标题 位图的优缺点为什么会有布隆过滤器&#xff1a;布隆过滤器的应用场景&#xff1a;布隆过滤器的实现布隆过滤器的测试 位图的优缺点 位图的优点&#xff1a; 1.位图可以节省空间&#xff0c;位图判断存储的数据是在还是不在只用一个比特位就可以记录数据出现的情况&a…

【毕业季·进击的技术er】大学生计算机毕业设计应该这样写

活动地址&#xff1a;毕业季进击的技术erhttps://marketing.csdn.net/p/f4a818f6455f3a9a7a20c89f60ad35f7 目录 扉页 摘要 目录 一 绪论 二、相关技术环境介绍 三、系统需求分析 四、系统架构设计 五、系统实现 六、系统测试 致谢 参考文献 以一个过来学长的角度来看…