目录

一、windows中选择一种方式安装Mysql8.0

二、新建产品库mydb6_product

 1. 新建3张表如下:

  1)employees表

  2)orders表

  3)invoices表

三、新建员工库mydb8_worker,添加自定义表内容并插入数据

 1. 新建库表

 2. 插入数据

 3. 完成以下查询

  1)显示所有职工的基本信息。

  2)查询所有职工所属部门的部门号,不显示重复的部门号。

  3)求出所有职工的人数。

  4)列出最高工和最低工资。

  5)列出职工的平均工资和总工资。

  6)创建一个只有职工号、姓名和参加工作时间的新表,名为工作日期表。

  7)显示所有党员的年龄。

  8)列出工资在4000-8000之间的所有职工姓名。

  9)列出所有孙姓和李姓的职工姓名。

  10)列出所有部门号为102和103且不是党员的职工号、姓名。

  11)将职工表t_worker中的职工按出生的先后顺序排序。

  12)显示工资最高的前3名职工的职工号和姓名。

  13)求出各部门党员的人数。

  14)统计各部门的工资和平均工资并保留2位小数。

  15)列出总人数大于等于3的部门号和总人数。


一、windows中选择一种方式安装Mysql8.0

  • 具体步骤见Mysql栏上文

二、新建产品库mydb6_product

mysql> create database mydb6_product;
Query OK, 1 row affected (0.04 sec)mysql> show databases;

 1. 新建3张表如下:

  1)employees表

  • 列1:id,整型,主键

  • 列2:name,字符串,最大长度50,不能为空

  • 列3: age,整型

  • 列4:gender,字符串,最大长度10,不能为空,默认值“unknown”

  • 列5: salary,浮点型

mysql> use mydb6_product;   # 使用库
Database changed# 建表
mysql> create table employees(-> id int primary key,-> name varchar(50) not null,-> age int,-> gender varchar(10) not null default 'unknown',-> salary float-> );
Query OK, 0 rows affected (0.03 sec)mysql> desc employees;   # 查看

  2)orders表

  • 列1:id,整型,主键

  • 列2:name,字符串,最大长度100,不能为空

  • 列3: price,浮点型

  • 列4: quantity,整型

  • 列S:category,字符串,最大长度50

mysql> create table orders(-> id int primary key,-> name varchar(100) not null,-> price float,-> quantity int,-> category varchar(50)-> );
Query OK, 0 rows affected (0.03 sec)mysql> desc orders;   # 查看

  3)invoices表

  • 列1:number,整型,主键自增长

  • 列2:order_id,整型,外键关联到orders表的id列

  • 列3:in_date:日期型

  • 列4:total_amount:浮点型,要求数据大于0

mysql> create table invoices( -> number int auto_increment primary key, -> order_id int,-> in_date date, -> total_amount float check(total_amount>0), -> foreign key(order_id) refereences orders(id) on delete restrict on update cascade -> );
Query OK, 0 rows affected (0.03 sec)mysql> desc invoices;   # 查看

三、新建员工库mydb8_worker,添加自定义表内容并插入数据

 1. 新建库表

# 创建数据库
mysql> create database mydb8_worker;
Query OK, 1 row affected (0.01 sec)
# 使用库
mysql> use mydb8_worker;
Database changed
# 创建数据表
mysql> create table t_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 '出生日期'-> );
Query OK, 0 rows affected, 3 warnings (0.02 sec)# 查看表结构
mysql> desc t_worker;

 2. 插入数据

mysql> insert into t_worker values(101,1001,'2015-5-4',7500.00,'群众','张三','1990-7-1');
mysql> insert into t_worker values(101,1002,'2019-3-5',5200.00,'团员','李四','1995-3-7');
mysql> insert into t_worker values(102,1003,'2008-1-4',10500.00,'党员','王五','1983--5-8');
mysql> insert into t_worker values(102,1004,'2016-10-10',5500.00,'群众','赵六','1994-9-5');
mysql> insert into t_worker values(102,1005,'2014-4-1',8800.00,'党员','钱七','1992-12-30');
mysql> insert into t_worker values(103,1006,'2019-5-5',5500.00,'党员','孙八','1996-9-2');# 查看
mysql> select * from t_worker;

 3. 完成以下查询

  1)显示所有职工的基本信息。

mysql> select * from t_worker;

  2)查询所有职工所属部门的部门号,不显示重复的部门号。

mysql> select distinct department_id from t_worker;

  3)求出所有职工的人数。

mysql> select count(*) as '职工总人数' from t_worker;

  4)列出最高工和最低工资。

mysql> select -> max(wages) as '最高工资',-> min(wages) as '最低工资'-> from t_worker;

  5)列出职工的平均工资和总工资。

mysql> select-> avg(wages) as '平均工资',-> sum(wages) as '总工资'-> from t_worker;

  6)创建一个只有职工号、姓名和参加工作时间的新表,名为工作日期表。

mysql> create table work_date_table as  -> select worker_id, name,worker_date -> from t_worker;
Query OK, 6 rows affected (0.01 sec)
Records: 6  Duplicates: 0  Warnings: 0

  7)显示所有党员的年龄。

mysql> select name,timestampdiff(year,borth_date,curdate()) as '年龄' from t_worker where politics='党员';

  8)列出工资在4000-8000之间的所有职工姓名。

mysql> select name from t_worker where wages between 4000 and 8000;

  9)列出所有孙姓和李姓的职工姓名。

mysql> select name from t_worker where name like '孙%' or name like '李%';

  10)列出所有部门号为102和103且不是党员的职工号、姓名。

mysql> select worker_id,name from t_worker where department_id in(102,103) and polittics!='党员';

  11)将职工表t_worker中的职工按出生的先后顺序排序。

mysql> select * from t_worker order by borth_date;

  12)显示工资最高的前3名职工的职工号和姓名。

mysql> select worker_id,name from t_worker order by wages desc limit 3;

  13)求出各部门党员的人数。

mysql> select department_id,count(*) as '部门人数' from t_worker where politics='.' group by department_id;

  14)统计各部门的工资和平均工资并保留2位小数。

mysql> select department_id,sum(wages) as '各部门总资',round(avg(wages),2) as '各部门平均工资' from t_worker group by department_id;

  15)列出总人数大于等于3的部门号和总人数。

mysql> select department_id,count(*) as '总人数' from t_worker group by department_iid having count(*) >=3;

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 输入捕获,串口打印,定时器,中断综合运用

实验目的 使用定时器 2 通道 2 来捕获按键 2 按下时间,并通过串口打印。 计一个数的时间:1us,PSC71,ARR65535 下降沿捕获、输入通道 2 映射在 TI2 上、不分频、不滤波输入捕获原理定时器输入捕获实验配置步骤测量按键按下时长思路…

Nacos-2--Nacos1.x版本的通信原理

在Nacos 1.x版本中,客户端长轮询(Long Polling)和服务端UDP主动推送是两种不同的机制,分别用于配置管理和服务发现场景。它们的核心目标都是实现动态更新的实时感知,但实现方式、数据内容和适用场景完全不同。 1、长轮…

机器学习——09 聚类算法

1 聚类算法聚类算法: 是一种无监督学习算法,它不需要预先知道数据的类别信息,而是根据样本之间的相似性,将样本划分到不同的类别中;不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算…

生成式AI应用生态的爆发与专业化演进:从零和博弈到正和共赢

2025年,生成式AI产业规模已突破7000亿元,全球生成式AI市场规模预计在2028年达到2842亿美元(IDC数据)。在这场技术革命中,AI基础模型的分化已证明:差异化竞争而非同质化替代,才是推动产业发展的核心逻辑。如今,这一规律正从基础模型层向应用生成平台层蔓延——Lovable、…

Mysql——Sql的执行过程

目录 一、Sql的执行过程流程图解 二、Sql的执行过程流程 1.2.1、建立连接 1.2.2、服务层(缓存、解析器、预处理器、优化器、执行器) 1.2.2.1、缓存 1.2.2.2、解析器 1.2.2.3、预处理器 1.2.2.4、优化器 1.2.2.5、执行器 1.2.3、引擎层 一、Sql的执行过程流程图解 Sql的执行过…

【Axure高保真原型】地图路线和定位

今天和大家分享地图路线和定位的原型模版,载入后,可以查看汽车行进路线和所在定位 提供了停靠和不停靠站点两个案例,具体效果可以打开下方原型地址体验或者点击下方视频观看 【Axure高保真原型】地图路线和定位【原型预览含下载地址】 https…

【96页PPT】华为IPD流程管理详细版(附下载方式)

篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 https://download.csdn.net/download/2501_92808811/91633108 资料解读:华为IPD流程管理详细版 详细资料请看本解读文章的最后内容 华为的集成产品开发(IPD)…

深度解析Mysql的开窗函数(易懂版)

SQL 开窗函数(Window Function)是一种强大的分析工具,它能在保留原有数据行的基础上,对 "窗口"(指定范围的行集合)进行聚合、排名或分析计算,解决了传统GROUP BY聚合会合并行的局限性…

Java静态代理和动态代理

Java静态代理和动态代理 静态代理 现在有一个计算类,有四个方法,加减乘除,如果需要给这四个方法都加上同一个逻辑,可以创建一个类作为代理类,把计算类注入到这个类中,然后再代理类中定义方法,并…

MySQL——MySQL引擎层BufferPool工作过程原理

目录一、MySQL引擎层BufferPool工作过程图解二、MySQL引擎层BufferPool工作过程原理一、MySQL引擎层BufferPool工作过程图解 图解 二、MySQL引擎层BufferPool工作过程原理 首先关闭自动提交,执行一条修改语句。 SET AUTOCOMMIT 0; update employees set name张三…

Python初学者笔记第二十二期 -- (JSON数据解析)

第31节课 JSON数据解析 1.JSON基础概念 JSON 是一种轻量级的数据交换格式(另一个叫XML),具有简洁、易读的特点,并且在不同编程语言之间能很好地实现数据传递。在 Python 中,json模块能够实现 Python 数据类型与 JSON 数…

基于多模态大模型的个性化学习路径生成系统研究

摘要 随着互联网技术的迅猛发展,个性化学习路径生成系统的研究在教育领域日益凸显其重要性。本研究聚焦于基于多模态大模型的个性化学习路径生成系统,旨在通过整合多模态数据,为学习者提供更加精准、个性化的学习路径。多模态大模型&#xf…

ESP32 烧录固件失败原因排除

ESP32 烧录固件时,有哪些特殊引脚需要注意电平状态的在 ESP32 烧录固件时,有几个关键引脚的电平状态会直接影响烧录过程,需要特别注意:GPIO0(BOOT 引脚):烧录模式:需要拉低&#xff…

3D视觉系统在机器人行业中的应用

视觉引导机器人技术(VGR)具有成熟的2D成像技术,但是经济高效的3D技术的出现使机器人应用的可能性更大。工业自动化的第一次迭代使用“盲”机器人,该机器人取决于待处理材料的精确定位。这样的机器人相对不灵活,只能通过…

MySQL高可用改造之数据库开发规范(大事务与数据一致性篇)

文章目录一、前言二、延迟的原因三、大事务处理规范3.1. 删除类操作优化设计3.2. 大事务通用拆分原则四、数据一致性核对规范4.1. 主从变更记录识别方法五、小结一、前言 MySQL 高可用架构中最基础、最为核心的内容:MySQL 复制(Replication)…

第9节 大模型分布式推理核心挑战与解决方案

文章目录 # 前言 一、通信瓶颈突破:让数据“跑”得更快 1. 问题:通信为什么会成为瓶颈? 2. 解决方案:从硬件到算法的全链路优化 (1)硬件层:升级“高速公路” (2)算法层:给数据“瘦身”并“错峰出行” (3)架构层:让数据“少跑路” 3. 效果评估:如何判断通信瓶颈已…

ESP32开发板接4阵脚屏幕教程(含介绍和针脚编号对应)

“4针屏幕” 一般有两种常见类型:IC 屏幕(如 0.96" OLED、SSD1306 等) 4 个针脚通常是:VCC → 接 ESP32 的 3.3V(有的屏幕支持 5V)GND → 接 ESP32 的 GNDSCL(时钟)→ 接 ESP32…

2025 年国内可用 Docker 镜像加速器地址

文章目录一、加速器地址搭建 Docker 镜像源二、使用一、加速器地址 docker.1ms.rundocker.domys.ccdocker.imgdb.dedocker-0.unsee.techdocker.hlmirror.comcjie.eu.orgdocker.m.daocloud.iohub.rat.devdocker.1panel.livedocker.rainbond.cc 搭建 Docker 镜像源 以上镜像源…

[Robotics_py] 路径规划算法 | 启发式函数 | A*算法

第五章:路径规划算法 欢迎回来,未来的机器人专家-=≡(・ω・) 在之前的章节中,我们已为机器人配备了核心知识:它能够跟踪自身的机器人状态/位姿,利用环境表示(栅格地图)理…

解决 HTTP 请求 RequestBody 只能被读取一次的问题

简介 HTTP 请求 RequestBody 只能被读取一次:HttpServletRequest 的输入流 (InputStream) 在被读取后会被关闭,导致后续无法再次读取。本文将介绍如何通过 请求包装类 (RequestWrapper) 来解决这个问题。问题背景 当我们需要在以下场景中多次读取 Reques…