MySQL学习(四)

十、创建计算字段

计算字段

存储在数据库中的数据一般不是应用程序所需要的格式,需要从数据库中直接检索出转换、计算或格式化过的数据;而不是检索出数据,再在客户机应用程序或报告中重新格式化。这个时候计算字段就可以体现出它的价值了,计算字段不存在数据库表中,而是运行时在select语句内创建的。
**字段:**基本与列相同,经常可以互换使用。数据库列一般称为列,而术语字段通常用在计算字段的连接上。

拼接字段

**拼接:**将值联结到一起构成单个值,在MySQL的select语句中,可使用concat()函数来拼接两个列。(这与多数DBMS不同,大多数DBMS使用+或||来实现拼接)
select concat (l列名,'('',列名2,')) from 表名
在这里插入图片描述
删除数据右侧多余的空格来整理数据,可使用MySQL的RTrim()函数来完成
select concat(RTrim(列名),'(',RTrim(列名2),')') from 表名
在这里插入图片描述
Trim函数: MySQL除了支持RTrim()去掉串右边的空格,还支持LTrim去掉串左边的空格,Trim()去掉两边的空格。

使用别名

别名: 是一个字段或值的替换名,别名用AS关键字赋予
select concat(RTrim(列名1),‘(’,RTrim(列名2),')') AS 别名 from 表名
在这里插入图片描述

十一、使用数据处理函数

SQL支持利用函数来处理数据,函数一般是在数据上执行,给数据处理的转换和处理提供了方便。
函数没有SQL可移植性强,如果不使用函数,编写某些应用程序会很艰难,必须利用其他方法实现DBMS非常有效的完成的工作。

使用函数

SQL支持的函数:

  1. 用于处理文本串(如删除或填充值,转换值为大写或小写)的文本函数
  2. 用于在数值数据上进行算术操作(如返回绝对值,进行代数运算)的数值函数
  3. 用于处理日期和时间值并从这些值中提取特定成分(例如返回两个日期之差,检查日期有效性)的日期和时间函数
  4. 返回DBMS正使用的特殊信息(如返回用户登入信息,检查版本细节)的系统函数。

文本处理函数

Upper()将文本转换为大写
select 列名 Upper(列名1) as 别名 from 表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

日期和时间处理函数

日期和时间采用相应的数据类型和特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。
在这里插入图片描述
如果要的是日期,请使用Date(),使用Date()是一个良好的习惯

数值处理函数

在这里插入图片描述

十二、汇总数据

有时候我们只需要汇总数据而不需要实际检索出来,MySQL查询可用于检索数据,以便分析和报表生成。

  • 确定表中行数
  • 获得表中行组的和
  • 找出表列的最大值、最小值和平均值

**聚集函数:**运行在行组上,计算和返回单个值的函数
在这里插入图片描述

AVG()函数

AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可用来返回所有的平均值,也可以用来返回特定列或行的平均值。avg()只能用来特定数值列的平均值,而且列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个avg()函数。会忽略列值为null的行。
select avg(列名) as 别名 from 表名
在这里插入图片描述
avg()可以用来确定特定列或行的平均值
select avg(列名) as 别名 from 表 where 条件

count()函数

count()函数进行计数,两种表达方式:

  • 使用count(*)对表中行的数目进行计数,不管表列中包含的是空值(null)还是空值
  • 使用count(column)对特定列中具有值的行进行计数,忽略null值。

select count(*) as 别名 from 表名
在这里插入图片描述

max()函数

max()返回指定列中的最大值,max()要求指定列名。max()一般是找出最大的数值或日期值,但MySQL允许将任意列中的最大值,包括文本列中的最大值,用于文本数据时,如数据按相应的列排序,则max()返回最后一行。
select max(l列名) as 别名 from 表名
在这里插入图片描述

min()函数

min()功能与max()相反,返回指定列的最小值,也要求指定列名。
select min(列名) as 别名 from 表名
在这里插入图片描述

sum()函数

sum()用来返回指定列值的和(总计)
select sum(列名) as 别名 from 表名
在这里插入图片描述

聚焦不同值

  • 对所有的行执行计算,指定all参数或不给参数(因为all是默认行为)
  • 只包含不同的值,指定distinct参数
    例如:使用avg()函数返回平均价格,使用了distinct参数
    select avg(distinct 列名1) as 别名 from 表名
    在这里插入图片描述

组合聚集函数

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41676282/article/details/91128810