MYSQL之增删改查(下)

 前言:

         以下是MySQL最基本的增删改查语句,很多IT工作者都必须要会的命令,也 是IT行业面试最常考的知识点,由于是入门级基础命令,所有所有操作都建立在单表 上,未涉及多表操作。

4.3 高级查询

4.3.1 聚合函数

(1)COUNT()函数:统计记录的条数
语法:SELECT COUNT(*) FROM 表名
举例:查询student2表中一共有多少条记录
命令:SELECT COUNT(*) FROM student2;

结果:

(2)SUM()函数:求出表中某个字段所有值的总和
语法:SELECT SUM(字段名) FROM 表名;
举例:求出student2表中grade字段的总和
命令:SELECT SUM(grade) FROM student2;

结果:

(3)AVG()函数:求出表中某个字段所有值的平均值
语法:SELECT AVG(字段名) FROM 表名;
举例:求出student2表中grade字段的平均值
命令:SELECT AVG(grade) FROM student2;

结果:

(4)MAX()函数:求出表中某个字段所有值的最大值
语法:SELECT MAX(字段名) FROM 表名;
举例:求出student2表中所有人grade字段的最大值
命令:SELECT MAX(grade) FROM student2;

结果:

(5)MIN()函数:求出表中某个字段所有值的最小值
语法:SELECT MIN(字段名) FROM 表名;
举例:求出student2表中所有人grade字段的最小值
命令:SELECT MIN(grade) FROM student2;

结果:

.

4.3.2 对查询结果进行排序

语法:SELECT 字段名1,字段名2,…FROM 表名ORDER BY 字段名1 [ ASC | DESC ],字段名2 [ ASC | DESC ]…

       在该语法中指定的字段名是对查询结果进行排序的依据,ASC表示升序排列,DESC 表示降序排 列,默认情况是升序排列。

举例1:查出student2表中的所有记录,并按照grade字段进行升序排序
命令:SELECT * FROM student2ORDER BY grade;

结果:

举例2:查出student2表中的所有记录,并按照grade字段进行降序排序
命令:SELECT * FROM student2ORDER BY grade DESC;

结果:

4.3.3 分组查询

       在对表中数据进行统计的时候,可以使用GROUP BY 按某个字段或者多个字段进行分组,字段中 值相同的为一组,如男生分为一组,女生分为一组。

语法:SELECT 字段名1,字段名2,…FROM 表名GROUP BY 字段名1,字段名2,… [ HAVING 条件表达式 ];
(1)单独使用 GROUP BY 进行分组

单独使用GROUP BY 关键字,查询的是每个分组中的一条记录

举例:查询student2表中的数据,按照gender字段进行分组。
命令:SELECT * FROM student2 GROUP BY gender;

结果:

注意:

        若在此2例中键入命令之后出现“#1055”错误,无法完成分组查询,是由于MySQL版本升 级到了5.7,可自行百度“MySQL 1055错误”参考解决办法。

(2) GROUP BY 和聚合函数一起使用

        GROUP BY 和聚合函数一起使用,可以统计出某个或者某些字段在一个分组中的最大值、最小 值、平均值等。

举例:将student2表按照gender字段进行分组查询,计算出每组共有多少个人。
命令:SELECT COUNT(*) ,gender FROM student2 GROUP BY gender;

结果:

(3) GROUP BY 和 HAVING 关键字一起使用

         HAVING关键字和WHERE关键字的作用相同,区别在于HAVING 关键字可以跟聚合函数,而 WHERE 关键字不能。通常HAVING 关键字都和GROUP BY一起使用,用于对分组后的结果进行 过滤。

举例:将student2表按照gender字段进行分组查询,查询出grade字段值之和小于300的分组
命令:SELECT sum(grade),gender FROM student2 GROUP BY gender HAVING SUM(grade) < 300;

结果:

4.3.4 使用 LIMIT 限制查询结果的数量

语法:SELECT 字段名2,字段名2,…FROM 表名LIMIT [ OFFSET ,] 记录数

      在此语法中,LIMIT 后面可以跟两个参数,第一个参数“ OFFSET ”表示偏移量,如果偏移量为 0,则从查询结果的第一条记录开始,偏移量为1则从查询结果中的第二条记录开始,以此类推。 OFFSET为可选值,默认值为0,第二个参数“记录数”表示指定返回查询记录的条数。

举例1:查询student2表中的前四条记录。
命令:SELECT * FROM student LIMIT 4;

结果:

举例2:查询student2表中grade字段从第五位到第八位的人(从高到低)
命令:SELECT * FROM student2 ORDER BY grade DESC LIMIT 4,4;

结果:

4.3.5 函数(列表)

见:

      MySOL之常用函数

4.4 为表和字段取别名

4.4.1 为表取别名

         在进行查询操作时,如果表名很长使用起来不方便,可以为表取一个别名来代替 表的名称。

语法:SELECT * FROM 表名 [ AS ] 别名;
举例:为student2表起一个别名s,并查询student2表中gender字段值为“女”的记录
命令:SELECT * FROM student2 AS s WHERE s.gender='女';结果:

 结果:

4.4.2 为字段取别名

语法:SELECT 字段名 [ AS ] 别名 [ ,字段名 [AS] 别名,…] FROM 表名 ;
举例:查询student2表中的所有记录的name和gender字段值,并未这两个字段起别名stu_name和stu_gender
命令:SELECT name AS stu_name,gender AS stu_gender FROM student2;

结果:

----------------------------------------完结----------------------------------------

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

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

相关文章

Navicat 干货 | 了解 PostgreSQL 规则

PostgreSQL 是一个强大的开源关系型数据库管理系统&#xff0c;为增强数据管理和操作提供了丰富的功能。这些功能中包含了规则&#xff0c;这是一种用于控制数据库内部查询和命令处理方式的机制。本文将探讨 PostgreSQL 规则的工作原理&#xff0c;以及它们与触发器的区别&…

实验室三大常用仪器1---示波器的基本使用方法(笔记)

目录 示波器的作用 示波器的基础操作方法 示波器测量突变脉冲 示波器的作用 示波器能帮助我们干什么&#xff1f; 比如说某个电源用万用表测量是稳定的5V输出 但是用示波器一看确实波涛汹涌 这样的电源很可能回导致系统异常工作 又比如电脑和单片机进行串口通信时&#xf…

【C++干货基地】面向对象核心概念 const成员函数 | 初始化列表 | explicit关键字 | 取地址重载

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 哈喽各位铁汁们好啊&#xff0c;我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发&#xff0c;不知道各位的…

sketchup创建3D打印机的模型

查了一下&#xff0c;这玩意有几个版本&#xff0c;其中一个sketchup free是免费的&#xff0c;到官网上看看 下载 SketchUp | 免费试用 3D 建模软件 | SketchUp 是个在线网页版&#xff0c;然后可以再这个网站上注册一个账号 弄个邮箱试试看 创建好进入后&#xff0c;里面就…

js 遍历数据结构,使不符合条件的全部删除

js 遍历数据结构&#xff0c;使不符合条件的全部删除 let newSourceJSON.parse(JSON.stringify(state.treeData))state.expandedKeys[]checkedKeys.map((item:any)>{loop(newSource,{jsonPath:item.split(&)[1]},state.expandedKeys)})function removeUnwantedNodes(tre…

SpringCloud系列(7)--Eureka服务端的安装与配置

前言&#xff1a;上一章节我们介绍了Eureka的基础&#xff0c;本章节则介绍Eureka服务端的安装与配置 Eureka架构原理图 1、创建Eureka Server端服务注册中心模块 (1)在父工程下新建模块 (2)选择模块的项目类型为Maven并选择模块要使用的JDK版本 (3)填写子模块的名称&#xf…

如何在Windows安装Ollama大语言模型工具并实现无公网IP异地远程使用

文章目录 前言1. 运行Ollama2. 安装Open WebUI2.1 在Windows系统安装Docker2.2 使用Docker部署Open WebUI 3. 安装内网穿透工具4. 创建固定公网地址 前言 本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具&#xff0c;并安装Open WebUI结合cpolar内网穿透软…

详解数据在内存中的存储

系列文章目录 第一章 C语言基础知识 第二章 C语言控制语句 第三章 C语言函数详解 第四章 C语言数组详解 第五章 C语言操作符详解 第六章 C语言指针详解 第七章 C语言结构体详解 文章目录 1. 数据类型 1.1 基本数据类型 1.2 派生数据类型 2. 整形在内存中的存储 2.1 …

基于ssm汽车租赁系统业务管理子系统论文

系统简介 随着信息互联网购物的飞速发展&#xff0c;一般企业都去创建属于自己的管理系统。本文介绍了汽车租赁系统业务管理子系统的开发全过程。通过分析企业对于汽车租赁系统业务管理子系统的需求&#xff0c;创建了一个计算机管理汽车租赁系统业务管理子系统的方案。文章介…

“手撕“三大特性之一的<继承>(上)

目录 一、为什么需要继承 二、什么是继承 三、继承怎么写 四、成员的访问 1.父类与子类的成员变量不同名 2.父类与子类的成员变量同名 3.父类与子类的成员方法不同名 4.父类与子类的成员方法同名 五、super关键字 一、为什么需要继承 先让我们看一段Java代码&#…

数据结构-基于ArrayList的源码模拟

文章目录 继承关系 :1. 构造方法的模拟2. 扩容机制的分析3. 查找方法的模拟4. 获取,修改元素的方法模拟5. 添加元素的模拟6. 删除元素的模拟7. removeAll与retainAll的模拟总结: 边缘方法以及总代码 继承关系 : 1. 构造方法的模拟 源码中我们的ArrayList的构造方法给出了三种实…

Linux:常用软件、工具和周边知识介绍

上次也是结束了权限相关的知识&#xff1a;Linux&#xff1a;权限相关知识详解 文章目录 1.yum-管理软件包的工具1.1基本介绍1.2yum的使用1.3yum的周边生态1.4软件包介绍 2.vim-多模式的文本编辑器2.1基本介绍2.2基本模式介绍2.2.1命令模式&#xff08;Normal mode&#xff09;…

Vue【路由】

1&#xff1a;什么是单页应用程序&#xff08;single page application&#xff09; 所有得功能在一个html页面上实现 2&#xff1a;单页面应用程序的优缺点 优点&#xff1a;按需更新性能高&#xff0c;开发效率也高&#xff0c;用户的体验较好 缺点&#xff1a;学习成本高…

spring的redis注解@Cacheable @Cacheput @CacheEvict的condition、unless

概述 redis的注解使用的过程中总会遇到condition和unless这两个属性&#xff0c;而且不同的注解使用注意事项不一样。本人也是错误使用之后详细查询了一下&#xff0c;作了如下的总结。 Cacheale 这个注解的使用和意义这里不多说&#xff0c;可以查看我的其他文档。这里主要说…

java:Java中的抽象类

什么是抽象类&#xff1a; 我们知道&#xff0c;类用来模拟现实的事物&#xff0c;一个类模拟一类事物&#xff0c;某个类的一个实例化对象可以模拟某个属于该类的具体事物。类中描绘了该类所有对象的共同的特性&#xff0c;当一个类中给出的信息足够全面时候&#xff0c;我们就…

docker灵活部署mysql

博客简要 用docker部署mysql,并将数据库映射到主机上&#xff0c;并增加远端访问mysql数据库 当你使用Docker运行MySQL时&#xff0c;并且希望将MySQL数据库的数据存储在宿主机&#xff08;也就是运行Docker的主机&#xff09;上的特定路径&#xff0c;你需要在启动容器时通过…

Axure设计原型图工具 Windows11安装步骤详解

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 Axure 是一个流行的原型设计工具&#xff0c;它被用来创建交互式原型、线框图和用户界面设计。Axure 可以帮助用户在项目早期阶段快速制作出可交互的原型&#xff0c;以便进行用户测试、验证设计概念和与…

机器学习和深度学习--李宏毅(笔记与个人理解)Day17

Day 17Convolutional Neyral Network (CNN) 卷积神经网络一般都用在image 上面比较多一些&#xff0c;所以课程的例子大多数也都是image Image Classification the same size how about for pc? 这里对于tensor 张量这个概念&#xff0c;我还是比较奇怪&#xff0c;在我认为一…

ssm 体检预约管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm 体检预约管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c; 系统主要采用B/S…

JET毛选学习笔记:如何利用《实践论》学习实验

一、个人背景介绍 本人本科读的是预防医学专业&#xff08;因为没考上临床&#xff09;&#xff0c;硕博连读&#xff08;报名人少&#xff0c;我报了就得了&#xff09;的时候专业是流行病与卫生统计学&#xff0c;除了学习流行病学、统计学&#xff08;忘得差不多了&#xf…