MySQL入门指南3(常用函数)

2023-05-16

目录

一、常用函数

???1. 合计/统计函数

???2. 字符串相关函数

???3. 数学相关函数

? ? ? ? 4. 加密和系统函数

???5. 流程控制函数

二、最后的话


一、常用函数

1. 合计/统计函数

1.1 COUNT

用于统计表中记录(行)的数量,有COUNT(*)和COUNT(列)两种用法。

COUNT(*)用于统计表中所有记录(含空记录)的数量(行数)。

COUNT(列)用于统计表中某一列的数量,不统计为空的情况。

代码演示如下:

-- count(*)返回满足条件的记录的行数
SELECT COUNT(*) FROM student
	WHERE math>=90;
-- count(列)后者返回满足条件且该列不为空的记录的行数
SELECT COUNT(`id`) FROM student;

1.2SUM

用于计算指定列数据的总和,有SUM(列)和SUM(表达式)两种用法。

代码演示如下:

-- 返回满足条件的记录的指定列数据的和
-- 求表中满足条件的对象的数学总成绩
SELECT SUM(math) FROM student
	WHERE math>=80;
-- 分别求表中所有对象的数学总成绩,语文总成绩,英语总成绩
SELECT SUM(math),SUM(chinese),SUM(english) 
	FROM student;
-- 求表中所有对象的总成绩
SELECT SUM(math+english+chinese) AS total 
	FROM student;
	
-- 求表中所有对象的语文平均分
SELECT SUM(chinese)/COUNT(*) AS `avg chinese`
	 FROM student;

1.3AVG

一般用于求指定列的平均值。有SUM(列)和SUM(表达式)两种用法。

AVG(列) 相当于 SUM(列)/COUNT(列)

这里注意COUNT(列) 不统计空的哦。

代码演示如下:

-- 求一个班的数学平均分
SELECT AVG(math) FROM student;

-- 求一个班级的总分平均分
SELECT AVG(chinese + math + english) FROM student;

1.4MAX/MIN

用于求指定列的的最大值/最小值。

代码演示如下:

-- 求班级总分最高分和最低分
SELECT MAX(math+chinese+english) AS `NO.1`,
    MIN(math+chinese+english) AS `No.-1`
    FROM student;

1.5GROUP BY

用于对列进行分组统计。

代码演示如下:

-- GROUP BY语句  分组统计  
-- 以表中的某一列分组

SELECT AVG(sal) FROM emp ; --直接求平均数求得是该列全部数据的平均数

SELECT AVG(sal),deptno  --分组求平均数,求的是各个组数据的平均数
	FROM emp GROUP BY deptno; -- 以deptno分组

-- 先以其中的某一列分组,再在分好组的基础上以其中另一列分组	
SELECT AVG(sal),deptno,job  -- 求各个组的各个分组的平均数
	FROM emp GROUP BY deptno,job;

图解GROUP BY


1.6HAVING

通常和GROUP BY 一起用,用于对分好的组进行筛选。

代码演示如下:

-- HAVING 用于在分好的组中进行筛选
SELECT AVG(sal) AS avgsal,MAX(sal),MIN(sal),deptno,job
	FROM emp GROUP BY deptno,job
	HAVING avgsal>2000; -- 对已经分好组进行筛选

图解HAVING


2. 字符串相关函数

基本用法及介绍:

代码演示如下:

-- DUAL  亚元表  系统表,可作为测试表使用
-- 字符串相关函数

-- CHARSET 返回字串字符集
SELECT CHARSET(ename) FROM emp;

-- CONCAT 拼接字串
SELECT CONCAT(ename,' 的工资为:',sal) FROM emp;

-- UCASE 转大写   LCASE 转小写
SELECT UCASE(ename) FROM emp;
SELECT LCASE(ename) FROM emp;

-- LENGTH 字串长度
SELECT LENGTH(ename) FROM emp;

-- REPLACE 替换字符 -- DUAL  亚元表  系统表,可作为测试表使用
/* 将zhang 替换成 li*/
SELECT REPLACE('zhangsan','zhang','li') FROM DUAL;

SELECT REPLACE(ename,'S','li') FROM emp;

-- SUBSTRING 截取字符
-- 从ename 中的第一个字符开始截取2个字符
SELECT SUBSTRING(ename,1,2) FROM emp;

-- LEFT RIGHT 从左边或者右边开始取指定个数字符
SELECT LEFT(ename,2) FROM emp;
SELECT RIGHT(ename,2) FROM emp;

-- INSTR 返回指定字符串片段出现的位置
SELECT INSTR('hello world','wo');

-- STRCMP 比较两字符串大小  
-- 相同返回 0  
SELECT STRCMP('1111221','1111') FROM DUAL;

-- LTRIM RTRIM TRIM 去除左端空格 右端空格 两端空格
SELECT LTRIM('      DFFDFE    ') FROM DUAL;
SELECT LTRIM('      DFFDFE    ') FROM DUAL;
SELECT LTRIM('      DFFDFE    ') FROM DUAL;

3. 数学相关函数

基本用法及介绍:

代码演示如下:

-- 绝对值
SELECT ABS(-155) FROM DUAL;

-- 向上取整  比该数大的最小整数
SELECT CEILING(1.8) FROM DUAL;-- 2

SELECT CEILING(-1.8) FROM DUAL; -- -1

-- 向下取整  比该数小的最大整数
SELECT FLOOR(1.9) FROM DUAL;-- 1

SELECT FLOOR(-1.3) FROM DUAL;-- -2

-- 进制转换  --将十进制数字122转为二进制
SELECT CONV(122,10,2) FROM DUAL;

SELECT CONV(122,10,16) FROM DUAL;

-- 二进制转换  将十进制数字122转为2进制
SELECT BIN(122) FROM DUAL;

-- 转十六进制  将十进制数字122转为十六进制
SELECT HEX(122) FROM DUAL;

-- 保留小数位数
SELECT 12345.6789 FROM DUAL;
-- 将数字12345.678910 保留两位小数
SELECT FORMAT(12345.6789,2) FROM DUAL;--12345.67 

-- 求最小值
SELECT LEAST(12,-10,34,4.0,0) FROM DUAL;-- -10

-- 取余  求16%3=? 
SELECT MOD(16,3) FROM DUAL;-- 1

-- 随机数(范围 0-1)
-- 未指定种子是每次执行结果不同
SELECT RAND() FROM DUAL;

-- 指定种子后,每一执行结果相同
SELECT RAND(9.9) FROM DUAL; -- 种子可指定任意数字

4. 加密和系统函数

基本用法及介绍:

代码演示如下

-- 加密函数 
-- MD5加密  为字符串计算出一个 MD5 32字符
SELECT MD5('jack6666') FROM DUAL;

-- PASSWORD 加密函数  
-- 常用于mysql数据库的用户密码加密
SELECT PASSWORD('jack6666') FROM DUAL;


-- 系统函数
-- 查询用户
SELECT USER() FROM DUAL;  -- 查询结果为用户名@ip地址

-- 查询当前系统名称
SELECT DATABASE();

运行结果


5. 流程控制函数

基本用法及介绍:

代码演示如下:

-- 第一个为true 则返回A  反之返回B
SELECT IF(TRUE,'A','B') FROM DUAL;

SELECT IF(FALSE,'A','B') FROM DUAL;

-- 第一个不为空则返回第一个 反之返回第二个
SELECT IFNULL('A','B') FROM DUAL;

SELECT IFNULL(NULL,'B') FROM DUAL;

-- 从第一句开始判断 一直到为真时停止判断并返回
-- 对应的内容,若全部为假,则返回最后的值;
SELECT CASE
	WHEN FALSE THEN 'A'
	WHEN TRUE  THEN 'B'
	WHEN TRUE  THEN 'C'
	ELSE 'D' END;

二、最后的话

原创不易,还希望各位大佬支持一下

??点赞,你的认可是我创作的动力!

收藏,你的青睐是我努力的方向!

评论,你的意见是我进步的财富!

最后

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL入门指南3(常用函数) 的相关文章

随机推荐

  • C++实现插入排序算法(直接插入排序、折半插入排序、希尔排序)

    排序算法分为五大类 xff0c 一共是有九种 xff0c 如下 xff1a 插入类 xff1a 直接插入排序 折半插入排序 希尔排序 交换类 xff1a 冒泡排序 快速排序 选择类 xff1a 简单选择排序 堆排序 归并类 xff1a 二路
  • C++实现二路归并排序算法

    排序算法分为五大类 xff0c 一共是有九种 xff0c 如下 xff1a 插入类 xff1a 直接插入排序 折半插入排序 希尔排序 交换类 xff1a 冒泡排序 快速排序 选择类 xff1a 简单选择排序 堆排序 归并类 xff1a 二路
  • C语言实现-学生信息管理系统

    通过C语言实现一个学生信息管理系统 xff0c 要求如下 xff1a xff08 1 xff09 用户采用自己账号和密码登录系统 xff1b xff08 2 xff09 学生信息和账号密码通过文件的形式存储 xff1b xff08 3 xf
  • 通过python画矢量图(matplotlib,有代码)

    python画矢量图 xff08 有代码 xff09 python的matplotlib可以保存的文件格式word可以插入哪些图片格式呢代码中文乱码问题 有些同学因为文章的要求 xff0c 图片插入到word里的时候需要足够清晰 xff0c
  • Java实现LRU

    首先看看什么是LRU LRU是Least Recently Used的缩写 xff0c 即最近最少使用 xff0c 是一种常用的页面置换算法 xff0c 选择最近最久未使用的页面予以淘汰 该算法赋予每个页面一个访问字段 xff0c 用来记录
  • 域名cdn加速(apache与nginx)

    一 xff1a 由于公司业务属于请求量比较大的吧 xff0c 每个月几亿条 xff0c 考虑到安全性 xff0c 所以需要域名由http改为https cdn加速才可以支成撑业务 二 xff1a 之前的系统是使用lamp配置的 xff0c
  • ubuntu系统安装完nvidia显卡驱动后黑屏,不能进入系统

    我之前安装了系统里建议安装的nvidia 380显卡驱动 xff0c 为了安装更高版本的CUDA xff0c 我将nvidia显卡驱动升级到了430 xff0c 但是重启电脑进入Ubuntu系统时黑屏 xff0c 进不去系统界面 xff0c
  • 黑盒模糊测试之AFL++

    git clone depth 1 https github com AFLplusplus AFLplusplus cd AFLplusplus make Build Summary 43 afl fuzz and supporting
  • centos7安装MySQL5.7

    一 下载mysql5 7 1 下载地址 mysql 5 7 28 1 el7 x86 64 rpm bundle tar 2 上传至服务器 3 解压压缩包 解压命令 tar xvf mysql 5 7 28 1 el7 x86 64 rpm
  • 打包VSCode源码为安装程序(.exe)

    参考博客 GitHub vscode里的Packaging部分 xff1a https github com microsoft vscode wiki How to Contribute 这里提供了vscode打包后可以发布的平台代码 x
  • Ubuntu的安装卡在安装界面 (解决方法记录)

    安装过程 在 Install Ubuntu 的grub 选项上点击e 在 Linux 系统的启动参数 倒数第二行 中加入 nomodset 安装界面分辨率会有问题 xff0c 但这个之后再解决 安装过程中 xff0c 如果需要拖拽窗口 Al
  • 树莓派ubuntuMATE 安装xrdp来进行显示图形的远程调试

    树莓派ubuntuMATE 安装xrdp来进行显示图形的远程调试 引 在树莓派上调试显示图形界面的项目 xff0c 纠结配显示器的问题 pi本身有hdmi的接口 xff0c 如果有多余的显示器直接连接的那最好 xff0c 倘若接口不合适也可
  • C与C++源文件的拼接

    C 43 43 与C处理函数名 如果C 43 43 两个cpp源文件中函数名称相同 xff0c 会出现如下错误 xff08 ave就是函数名 xff09 34 int cdecl ave void 34 ave 64 64 YAHXZ 已经
  • 【Android-Socket】Socket通信笔记(单例模式,线程管理,AsyncTask)

    扉 本作学习视频来源 https www bilibili com video BV1Nx411r7Pr t 61 940 amp p 61 11界面参考 https blog csdn net fszeng2011 article det
  • 明明安装了anaconda,conda命令一直无效

    添加路径到bashrc里 export PATH 61 34 home xxx anaconda3 bin PATH 34 source 一下bashrc source bashrc
  • 云计算ACP练习题(一)

    阿里云计算绿网是云盾体系内的业务防护模块 xff0c 它的作用是保护网站内容的安全 xff0c 提前发现不符合政策规定的信息 以下对绿网功能的描述最准确的是 A 自动判别文本内容和图片是否合规 xff0c 支持API批量检测图片 B 只支持
  • 解决Linux字符界面中文变方框的问题

    图形界面控制台中输入init 3可以跳转到字符界面 xff0c 如果遇到含有中文目录且中文变成方框的问题 xff0c 可以尝试安装zhcon xff0c 然后做一下设置 xff0c 具体步骤如下 xff1a 终端下输入 xff1a sudo
  • 【报错解决方案】W: GPG error: http://dl.google.com/linux/chrome/deb stable InRelease

    0x00 问题描述 今天用apt update 更新apt源的时候 xff0c 曝出了 xff1a W GPG error http dl google com linux chrome deb stable InRelease The f
  • 磁盘满载导致的ubuntu远程连接xrdp失效问题

    远程连接断开主要三大原因 xff1a sshd服务和Xrdp服务未打开 防火墙拦截 电脑故障 SSHD网络服务和XRDP服务检测可以通过端口号监听查看service sshd status service xrdp status 也可以直接
  • MySQL入门指南3(常用函数)

    目录 一 常用函数 1 合计 统计函数 2 字符串相关函数 3 数学相关函数 4 加密和系统函数 5 流程控制函数 二 最后的话 一 常用函数 1 合计 统计函数 1 1 COUNT 用于统计表中记录 xff08 行 xff09 的数量 x