【ONE·MySQL || 常见的基本函数】

总言

  主要内容:介绍了MySQL中常用的基本函数。一些聚合函数、时间日期函数、字符串函数、数字函数等。
  
  

文章目录

  • 总言
  • 1、聚合函数
    • 1.1、汇总
    • 1.2、COUNT()函数
      • 1.2.1、基本说明
      • 1.2.2、使用演示
    • 1.3、SUM( )函数
      • 1.3.1、基本说明
      • 1.3.2、使用演示
    • 1.4、AVG( )函数
      • 1.4.1、基本说明
      • 1.4.2、使用演示
    • 1.5、MIN( )函数、MAX( )函数
      • 1.5.1、基本说明
      • 1.5.2、使用演示
  • 2、时间日期函数
    • 2.1、汇总(部分)
    • 2.2、curdate()、current_date()、current_time()、current_timestamp()、now()
    • 2.3、date()、date_add()、date_sub()、datediff()
      • 2.3.1、date()
      • 2.3.2、date_add()、date_sub()
      • 2.3.3、datediff ()、timediff()
  • 3、字符串函数
    • 3.1、汇总(部分)
    • 3.1、charset()
    • 3.2、concat()、concat_ws()
    • 3.3、length()
    • 3.4、substring ()
    • 3.5、left()、right()
    • 3.5、instr()
    • 3.6、replace()
    • 3.7、ucase()、upper()、lcase()、lower()
    • 3.8、strcmp()
    • 3.9、ltrim()、rtrim()、trim()
  • 4、数学函数
    • 4.1、总言
    • 4.2、abs()
    • 4.3、bin()
    • 4.4、hex()
    • 4.5、conv()
    • 4.6、ceiling()、floor()
    • 4.7、format()
    • 4.8、rand ()
    • 4.9、mod()
  • 5、其它函数
    • 5.1、user()
    • 5.2、md5()
    • 5.3、password()
    • 5.4、database()
    • 5.5、ifnull()

  
  
  
  

1、聚合函数

1.1、汇总

  1)、什么是聚合函数?特点?
  聚合统计一定是直接或者间接统试列方向的某些数据。(列的属性相同)
  
  
  
  2)、常见聚合函数
  

函数说明
COUNT([DISTINCT] expr)返回查询到的数据的 数量
SUM([DISTINCT] expr)返回查询到的数据的 总和,不是数字没有意义
AVG([DISTINCT] expr)返回查询到的数据的 平均值,不是数字没有意义
MAX([DISTINCT] expr)返回查询到的数据的 最大值,不是数字没有意义
MIN([DISTINCT] expr)返回查询到的数据的 最小值,不是数字没有意义

  
  
  
  
  

1.2、COUNT()函数

1.2.1、基本说明

  COUNT()函数用于统计表中符合特定条件的所有行,语法如下:

COUNT(DISTINCT expression) --去重,返回不包含NULL值唯一行数。
COUNT(expression) --不去重,返回不包含NULL值的行数。
COUNT(*) --包含NULL值

  相关说明:
  1、该函数返回类型为BIGINT, 如果没有找到匹配的行,则COUNT()函数返回0。
  2、count(*)函数返回由SELECT语句返回的结果集中的行数,包含NULL和非NULL值的行,即:所有行。(count(*)是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。 )
  3、count(1)计算结果集中的所有行,并将数字1作为参数传递给函数。(在大多数数据库系统中,包括MySQL,COUNT(1)COUNT(*)的行为是相同的,都是计算所有行。 使用COUNT(1)通常是为了提高查询性能,尤其是在某些数据库系统中,因为数字1是一个常量,不会增加任何额外的解析时间。)
  
  
  

1.2.2、使用演示

  1、基础使用演示:

在这里插入图片描述
  
  
  2、distinct位置与聚合函数在select中的执行顺序说明:

在这里插入图片描述
  
  
  
  

1.3、SUM( )函数

1.3.1、基本说明

  SUM( )函数可以计算一组值或表达式的总和,语法如下:

SUM([DISTINCT] expression) ---distinct是可选项。

  说明:
  1、若在没有返回匹配行SELECT语句中使用SUM函数,则SUM函数返回NULL,而不是0。
  2、对NULL值的处理:SUM()函数会忽略列中的NULL值,只有非NULL值会被计算进总和中。
  

  
  
  

1.3.2、使用演示

  1、基本演示:其中,多列求和操作如下:

SELECT SUM(column1 + column2) FROM table_name; --将返回column1和column2两列的总和。

在这里插入图片描述

  2、存在NULL的演示结果:

在这里插入图片描述

  
  
  
  
  

1.4、AVG( )函数

1.4.1、基本说明

  AVG()函数可以用于计算一组值或表达式的平均值。语法如下:

AVG([DISTINCT] expression) ---distinct是可选项。

  说明:
  1、NULL值的处理:AVG()函数会忽略列中的NULL值,只有非NULL值会被计算进平均值中。
  2、多列求平均:可以使用AVG()函数对多个列进行操作。
  
  
  

1.4.2、使用演示

  1、基本演示:求某项科目的平均成绩。

在这里插入图片描述

  
  2、求总成绩的平均值、关于NULL说明

在这里插入图片描述

  
  
  
  
  
  
  
  
  

1.5、MIN( )函数、MAX( )函数

1.5.1、基本说明

  MySQL的MIN()和MAX()函数是用于查找表中的最小值和最大值的聚合函数,语法如下:

MAX([DISTINCT] expr) 
MIN([DISTINCT] expr) 

  说明:
  1、忽略空值。当列中包含NULL值时,MIN()和MAX()将忽略这些值,并返回非NULL值中的最小值。如果所有值都是NULL,MIN()函数将返回NULL。
  2、可对多列操作。求多列中的最大值或最小值。
  
  
  

1.5.2、使用演示

  求各科成绩的最高分、最低分:

在这里插入图片描述

  
  求总成绩的最高分、最低分:

在这里插入图片描述

  
  
  
  
  
  
  
  
  

2、时间日期函数

2.1、汇总(部分)

  扩展学习:MYSQL日期函数。

  时间日期函数:主要用于处理日期和时间。其中包括获取当前时间的函数、获取当前日期的函数、返回年份的函数和返回日期的函数等。

函数名称描述
current_ date ()返回当前日期(1999-10-24)
current_ time ()返回当前时间(19:59:02)
current_ t timestamp ()返回当前时间戳(自动转为日期和时间,1999-10-24 19:59:02)
date (datetime)返回datetime参数的日期部分
date_add (date, interval d_value_type)计算起始日期 date 加上一个时间段后的日期。interval后的数值单位可以是:year、minute、second、day
date_sub(date, interval d_value_type)从日期date中减去指定的时间间隔。interval后的数值单位可以是:year、minute、second、day
datediff (date1, date2)计算两个日期的差,单位是天
now()当前日期时间

  除了上述部分,还有其它日期函数。
  
  
  

2.2、curdate()、current_date()、current_time()、current_timestamp()、now()

  1)、基本演示
  这几个函数都是用于获取日期、时间的函数。当执行查询时,如果未指定日期部分,这些函数将返回当天的日期或时间。

  CURDATE() 函数:按 YYYY-MM-DDYYYYMMDD 格式返回系统的当前日期。与 CURRENT_DATE() 函数完全相同。

  CURRENT_TIME() 函数:按 hh:mm:ss 格式返回系统的当前时间。与 CURTIME() 函数完全相同。

  CURRENT_TIMESTAMP() 函数:按 YYYY-MM-DD hh:mm:ss 格式返回当前时间和日期。与 NOW() 函数完全相同。
在这里插入图片描述
  
  + N 表示把日期转为 yyyyMMdd 格式 + N,把时间转为 hhmmss 格式 + N

在这里插入图片描述
  
  
  

  2)、在表格中使用

  以下为一个演示:

在这里插入图片描述

  
  
  
  
  

2.3、date()、date_add()、date_sub()、datediff()

2.3.1、date()

  1)、基本介绍
  说明:从日期时间表达式中提取日期部分并返回。

DATE(expr)

  参数:expr是必需的。可以是一个日期,或日期时间表达式。
  返回值:返回指定的日期或者日期时间表达式中的日期部分。(PS:若返回 NULL,情况有二,①指定的表达式不是一个合法的日期或者日期时间。②参数为 NULL。)

  
  
  2)、相关演示

在这里插入图片描述

在这里插入图片描述

  
  
  
  

2.3.2、date_add()、date_sub()

  1)、基本介绍
  DATE_SUB() 函数: 在指定的日期/时间上减去指定到时间间隔加并返回新的日期/时间。
  DATE_ADD() 函数: 在指定的日期/时间上加上指定到时间间隔加并返回新的日期/时间。

DATE_SUB(date, INTERVAL value unit)
DATE_ADD(date, INTERVAL value unit)

  参数介绍:
  date:必需的。需要操作的起始日期。
  value:必需的。用于确定从起始日期减去时间/日期间隔。正数和负数都是允许的。
  unit:必需的。时间/日期间隔的单位。时间/日期间隔的单位可以是以下值中的一个:

YEAR 年、QUARTER 季、MONTH 月、
WEEK 周、DAY 日、
HOUR 时、MINUTE 分、SECOND 秒、MICROSECOND 微秒、
YEAR_MONTH 、
DAY_HOUR 、DAY_MINUTE 、DAY_SECOND 、DAY_MICROSECOND 、
HOUR_MINUTE 、HOUR_SECOND 、HOUR_MICROSECOND 、
MINUTE_SECOND、MINUTE_MICROSECOND 、SECOND_MICROSECOND 

  返回值: 指定的日期/时间添加指定的时间间隔,并返回一个新的日期/时间。返回值和参数有关:

【返回 DATE】: dateDATE 类型,且时间间隔为 YEAR, MONTH 或者 DAY。
【返回 TIME】:dateTIME 类型,且计算只涉及 HOURS, MINUTES 和 SECONDS 部分。
【返回 DATETIME】:dateDATE 类型,并且时间间隔为 HOURS, MINUTES 或者 SECONDS。dateDATETIME 类型。dateTIME 类型,并且时间间隔为 YEAR, MONTH 或者 DAY。
【其他情况下返回字符串】

  
  
  2)、相关演示
  演示date_add()函数:其它时间单位类似。

在这里插入图片描述

  演示date_sub()函数:其它时间单位类似。

在这里插入图片描述

  
  
  
  

2.3.3、datediff ()、timediff()

  1)、基本介绍
  DATEDIFF() 函数: 返回两个日期值之间的天数。

DATEDIFF(date1, date2)

  参数说明: date1、date2是必需的。可以是一个日期,或者日期时间表达式。

  返回值: 返回两个日期值之间的天数。(PS:若返回 NULL,①指定的表达式不是一个合法的日期或者日期时间。②参数为 NULL。)
  
  
   TIMEDIFF() 函数: 返回两个时间之间的差值。

TIMEDIFF(time1, time2)

  参数说明: time1、time2是必需的。可以是一个时间,或者日期时间表达式。

  返回值: 返回两个时间之间的差值,格式为HH:MM:SS(PS:返回 NULL,①指定的表达式不是一个合法的时间或者日期时间。②参数为 NULL。)
  
  
  
  2)、相关演示

  对datediff():

在这里插入图片描述

  
  对timediff():

在这里插入图片描述

  
  
  
  
  
  

3、字符串函数

3.1、汇总(部分)

  扩展学习:MYSQL字符串函数详解
  
  MySQL提供了许多字符串函数,用于处理和操作字符串数据。

函数名称描述
charset (str)返回字符串字符集
concat(string2 [, …])连接字符串
instr (string, substring)返回substring在string中出现的位置,没有返回0
ucase (string2)转换成大写
lcase(string2)转换成小写
left (string2, length)从string2中的左边起取length个字符
length (string)string的长度
replace(str,search_str, replace_str)在str中用replace_str替换search_str
strcmp(string1, string2)逐字符比较两字符串大小
substring(str, position [, length])从str的postion开始,取length个字符
ltrim (string)、rtrim(string)、trim (string)去除前空格或后空格

  
  
  
  
  
  

3.1、charset()

  1)、基本介绍
   CHARSET() 函数返回指定的字符串的字符集。

CHARSET(str)

  参数: str必需的。 一个字符串。
  返回值:返回指定的字符串的字符集。如果参数为 NULL, CHARSET() 函数将返回 binary。
  
  
  2)、相关演示

  基本演示如下:

在这里插入图片描述
  该函数作用举例:可以手动确认一下乱码的表格(一般都是因为编码不匹配所以导致的乱码)

在这里插入图片描述

  
  
  
  

3.2、concat()、concat_ws()

  1)、基本介绍
  CONCAT()函数:需要一个或多个字符串参数,并将它们连接成一个字符串。CONCAT()函数需要至少一个参数,否则会引起错误。

CONCAT(string1, string2, ..., stringN)

  参数说明:
  string1, string2, ..., stringN :必需的,至少应指定一个字符串;拼接中若有一个为 NULL, 则返回 NULL;

  返回值: 返回拼接后的字符串。

只有一个参数,返回参数本身。
若有一个参数为NULL,返回NULL。无参数时报错:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONCAT'

  
  
  CONCAT_WS()函数:是上述一种特殊形式,能将两个或多个字符串值与预定义的分隔符相连接。

CONCAT_WS(separator, string1, string2, ..., stringN)

  参数说明:
  separator:分隔符,必须的。您可以使用单个字符,也可以使用字符串。
  string1, string2, ..., stringN:必需的,至少应指定一个字符串;如果拼接的参数为 NULL, 则会被忽略;

  返回值: 返回使用分隔符连接后的多个字符串。

如果 separator 为 NULL,则返回 NULL。
如果 string1, string2, ..., stringN 中有 NULL,则会被 CONCAT_WS() 函数忽略。如果没有指定 string1, string2, ..., stringN,MySQL 将会报错: 
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONCAT_WS'

  
  
  2)、相关演示
  基本演示如下:

在这里插入图片描述
  
  在表格中使用如下:

在这里插入图片描述
  
  
  
  

3.3、length()

  1)、基本介绍
  LENGTH() 函数:与 OCTET_LENGTH() 函数相同,返回 以字节为单位的字符串长度 。如果想返回以字符为单位计算长度,可以使用 CHAR_LENGTH() 函数或者 CHARACTER_LENGTH() 函数。

LENGTH(string)

  参数说明:string是必需的。需要计算长度的字符串。参数可以是其他的类型,比如数字或者日期等,LENGTH() 函数会首先将其转为字符串再计算长度。
  返回值: 返回指定字符串的以字节为单位的长度,即字节的数量。当参数为 NULL 时, 返回 NULL。
  
  
  2)、相关演示

在这里插入图片描述
  
  
  
  

3.4、substring ()

  1)、基本介绍
  SUBSTRING() 函数:从一个字符串中返回一个从指定位置开始的指定长度子字符串。 SUBSTR() 等同于 SUBSTRING() 函数。

  该函数有4种形式:

SUBSTRING(str, pos)
SUBSTRING(str FROM pos)
SUBSTRING(str, pos, len)
SUBSTRING(str FROM pos FOR len)

  参数说明:
  str:必需的,从中提取子字符串的原字符串。
  pos:必需的,开始提取的位置。它可以是正数或者负数。如果是正数,则从字符串的开头为起始位置确定开始提取的位置提取子字符串。如果是负数,则从字符串的结尾为起始位置确定开始提取的位置提取子字符串。
  len:可选的。是一个正整数,表示需要截取的子字符串的长度(这里的单位是字符数)。如果不指定,则提取到原字符串的结尾。
  
  返回值:
  当 pos 为 0 或者超过原字符串的长度时, 返回空串 ' '
  当 pos 为负数时,从字符串尾部向前计数。
  当 pos + len 超过原字符串的长度时,从pos位置提取到原字符串的结尾。
  当参数为 NULL 时, 返回 NULL。

  
  
  
  2)、相关演示
  演示一:

在这里插入图片描述
  
  演示二:

在这里插入图片描述

  
  
  
  

3.5、left()、right()

  1)、基本介绍
  LEFT() 函数:从指定字符串的左侧返回指定数量的字符组成的字符串。
  RIGHT() 函数:从指定字符串的右侧返回指定数量的字符组成的字符串。

LEFT(string, length)
RIGHT(string, length)

  参数说明:
  string:必需的。需要从中提取字符的字符串。
  length:必需的。是一个正整数,指定要提取的字符数量(长度单位:字符)。
  
  返回值情况说明:

返回原字符串情况:length大于string的长度。
返回空串情况:length为小于等于0。
返回 NULL情况:任意一个参数为 NULL

  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  
  
  

3.5、instr()

  1)、基本介绍
  INSTR() 函数: 返回一个子字符串在一个字符串中第一次出现的位置的数字索引。 INSTR() 函数是不区分大小写,与具有两个参数的 LOCATE() 函数的和 POSITION() 功能相同。

INSTR(str, substr)

  
  参数说明:

str:必需的。 被搜索的字符串。
substr:必需的。 在 str 中搜索的子串。

  返回值: 该函数返回子字符串 substr 在字符串 str 中的位置的数字索引。数字索引从 1 开始。如果在 str 中找不到 substr,INSTR() 函数将返回 0。当任意一个参数为 NULL 时, INSTR() 函数将返回 NULL
  
  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  
  

3.6、replace()

  1)、基本介绍
  REPLACE() 函数将字符串中出现的所有子字符串替换为新的子字符串。 REPLACE() 函数是基于字符的替换,并且替换字符串时是区分大小写的。

REPLACE(str, from_str, to_str)

  参数说明:
  str:必需的,原字符串。
  from_str:必需的,被替换的子字符串。
  to_str:必需的,用来替换的新子字符串。

  返回值: 返回 str 中的所有 from_str 被 to_str 替换后的字符串。(PS:当任意一个参数为 NULL 时, REPLACE() 函数将返回 NULL)
  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  
  

3.7、ucase()、upper()、lcase()、lower()

  1)、基本介绍
  Ucase → UpperCase(大写字母)。Lcase → LowerCase(小写字母)。
  UCASE() 和UPPER() 函数能将指定字符串转为大写并返回。LCASE() 和LOWER() 函数刚好相反,将字符串转换为小写。

UPPER(str);
UCASE(str);
LOWER(str);
LCASE(str);

  参数说明:str:必需的。 被处理的字符串。

  返回值: 当参数 str 为 NULL 时, UPPER() 函数将返回 NULL
  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  
  
  

3.8、strcmp()

  1)、基本介绍
  STRCMP() 函数:基于字符串采用的字符排列规则(collation),比较两个字符串并返回比较结果。

STRCMP(string1, string2)

  参数说明:string1string2:必需的。参与比较的字符串。

  返回值: ​​​​​​​两个字符串比较后的结果。

如果string1和string2相同,则STRCMP函数将返回0。
如果string1小于string2,则STRCMP函数将返回-1。
如果string1大于string2,则STRCMP函数将返回1。
返回 NULL情况:任意个参数为 NULL

  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  

3.9、ltrim()、rtrim()、trim()

  1)、基本介绍
  LTRIM() 函数:删除指定字符串的前导空格,并返回没有前导空格的字符串。
  RTRIM() 函数: 删除字符串的尾随空格,并返回没有尾随空格的字符串。
  TRIM() 函数: 同时删除字符串的前导和尾随空格。

LTRIM(str);
RTRIM(str);
TRIM(str)

  参数说明: str是必需的。表示需要删除空格的字符串。
  返回值: 若参数为 NULL,则返回空值。
  
  
  2)、相关演示
  存在意义举例:这些函数可以帮助去除字符串中的多余字符,使数据更加整洁。例如,在执行数据库查询时,可以去除字符串字段的开头或结尾中不必要的空格,又如,在将数据导入数据库之前,有时也需要进行数据清洗和预处理,等等。

在这里插入图片描述

  
  
  
  
  

4、数学函数

4.1、总言

  扩展学习:MYSQL数字函数详解

函数名称描述
abs (number)绝对值函数
bin (decimal_number)十进制转换二进制
hex (decimal_number)转换成十六进制
conv (number, from_base, to_base)进制转换
ceiling (number)向上去整
floor (number)向下去整
format (number, decimal_ places)格式化,保留小数位数
rand ()返回随机浮点数,范围[0.0, 1.0)
mod (number,denominator)取模,求余

  
  
  
  

4.2、abs()

  1)、基本介绍
   ABS() 函数返回指定数字的绝对值。

ABS(number)

  参数说明:number是必需的,是需要计算绝对值的数字。
  返回值:返回数字的绝对(正)值。如果参数 number 为字符串,ABS() 将按照如下规则尝试转为数字:

如果以数字开头,则将开头的数字部分转为数字。
如果不能转为数字,则按照 0 处理。
返回 NULL情况:number 为 NULL

  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  

4.3、bin()

  1)、基本介绍
  BIN() 函数: 用于将数字参数转换为二进制字符串。

BIN(N)

  参数: N 是需要转换的数字。
  返回值: 返回二进制值的字符串形式,相当于 CONV(N,10,2)。 如果 N 为 NULL,则返回 NULL。
  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  

4.4、hex()

  1)、基本介绍
  HEX()函数用于将数字或字符串参数转换为十六进制表示的字符串。

HEX(str)
HEX(N)

  参数:
  对于字符串参数 str,HEX() 返回 str 的十六进制字符串表示形式。其中 str 中每个字符的每个字节都转换为两个十六进制数字(多字节字符变为两位以上的数字)。此操作的逆操作由 UNHEX() 函数执行

  对于数字参数 N,HEX() 返回 N 的十六进制字符串表示形式,被视为 longlong (BIGINT) 数字。 这相当于 CONV(N,10,16)。 该操作的逆操作CONV(HEX(N),16,10) 执行。
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  

4.5、conv()

  1)、基本介绍
  CONV() 函数将数字从一个进制转为另一个进制,比如从 10 进制转为 2 进制。

CONV(num, from_base, to_base)

  参数说明:
  num:必填,需要转换的数字。
  from_base:必填,当前数字num使用的进制(从 2 到 36)。
  to_base:必填。 数字num将转为的进制(从 2 到 36)。

  返回值: 将数字从一个进制转为另一个进制。若任意一个参数为 NULL,则返回 NULL。

  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  

4.6、ceiling()、floor()

  1)、基本介绍
  CEILING() 函数:返回大于或等于指定数字的最小整数值,等同于 CEIL() 函数。
  FLOOR() 函数:返回小于或等于指定数字的最大整数值。

CEILING(number)
FLOOR(number)

  返回值: number 为 NULL时,返回 NULL。

  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  

4.7、format()

  1)、基本介绍
  FORMAT() 函数将数字格式设置为 “#,###,###.##”,四舍五入到指定的小数位数,然后以字符串形式返回结果。

FORMAT( number ,  decimal_places )

  参数值:
  number: 必填。被格式化的数字
  decimal_places: 必填。数字的小数位数 number。 如果此参数为 0,则此函数返回不带小数点的字符串。
  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  

4.8、rand ()

  1)、基本介绍
  RAND() 函数:返回一个 0 (包含) 和 1 (不包含) 之间的随机数。

RAND()
RAND(seed)

  参数说明: seed是可选的,用于产生随机数的种子。

rand()无参数,产生的随机数是随机的,不可重复的;
rand(n)有参数,相当于指定随机数生产的种子,这种情况产生的随机数是可重复的。

  返回值: 一个 0 (包含) 和 1 (不包含) 之间的随机数。若想返回其他区间(比如 m 和 n)的随机数,请使用以下公式:

m 和 n 之间的随机数: RAND() * (n - m) + m
m 和 n 之间的随机整数: FLOOR(RAND() * (n - m + 1) + m)

  
  
  
  2)、相关演示
  演示rand函数含参和无参的情况:

在这里插入图片描述
  
  其它演示:

在这里插入图片描述

  
  随机取样:

在这里插入图片描述
  
  
  
  
  

4.9、mod()

  1)、基本介绍
  MOD() 函数:返回一个数字除以另一个数字的余数。

MOD(number1, number2)
number1 MOD number2
number1 % number2

  参数说明:

number1:必需的。 被除数。
number2:必需的。 除数。

  返回值: 一个数字除以另一个数字的余数。返回 NULL情况:①number2 等于 0。②number1 为 NULL。

  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  

5、其它函数

5.1、user()

  1)、基本介绍
   USER() 函数 :返回 MySQL 连接的当前用户名和主机名:

USER();

  备注: 这个函数相当于 SESSION_USER() 函数和 SYSTEM_USER() 函数。
  
  
  3)、相关演示

  mysql数据库中存在user表。(这里先了解,后续会介绍)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  
  
  
  

5.2、md5()

  1)、基本介绍
   MD5() 函数:计算一个给定字符串的 MD5 摘要,并将结果作为一个 32 位的由十六进制字符组成的字符串返回。

MD5(str)

  参数: str是必需的,表示需要计算 MD5 值的字符串。
  返回值: MD5() 函数返回指定字符串 str 的 MD5 摘要,它是一个 32 位的由十六进制字符组成的字符串。如果任意参数为 NULL, MD5() 函数返回 NULL。
  
  
  2)、相关演示
  MD5(Message Digest Algorithm 5)是一种广泛使用的加密哈希函数,它将任意长度的数据作为输入,并返回一个固定长度的哈希值。

在这里插入图片描述

  PS:MD5 已被认为在密码学上是不安全的,它容易受到碰撞攻击(collision attacks)。对于需要高安全性的应用,建议使用更安全的哈希函数,如 SHA-256 或 bcrypt等等。

在这里插入图片描述

  
  
  
  

5.3、password()

  1)、基本介绍
  介绍: password()函数将输入的字符串进行加密,并返回加密后的结果。加密过程使用MySQL内部的密码算法进行处理,该算法是不可逆的,也就是说无法通过加密后的结果还原出原始字符串。

PASSWORD(str)

  返回值: password()函数的返回值是一个长度为41的字符串。该字符串包含了加密算法的标识以及加密后的结果。可以将该加密后的结果存储在数据库中,以保证用户密码的安全性。

  注意事项:
  1、PASSWORD() 函数在 MySQL 5.7.6 及更高版本中已被弃用。取而代之的是使用插件 caching_sha2_passwordmysql_native_password 进行身份验证。因此,如果你正在使用较新的 MySQL 版本,建议不要使用 PASSWORD() 函数,而是使用插件进行身份验证。
  2、由于 PASSWORD() 函数是 MySQL 特有的,与其他数据库系统不兼容
  
  
  
  2)、相关演示

在这里插入图片描述

  
  
  
  
  

5.4、database()

  1)、基本介绍
  DATABASE() 函数以字符串形式返回当前的数据库的名称。

DATABASE()

  返回值: DATABASE() 函数返回一个 UTF8 字符串,它是当前的数据库名称。如果还未选择数据库,DATABASE() 函数将返回 NULL。

  
  
  
  2)、相关演示

  用途举例:当忘记当前所处数据库是,可使用其查看。

在这里插入图片描述

  
  
  
  

5.5、ifnull()

  1)、基本介绍
  MySQL中,IFNULL() 函数是一个 if…else…的函数。类似于三目运算符,如果第一个参数为 NULL,则返回第二个参数,否则返回第一个参数

IFNULL(expr1, expr2)

  此函数相当于 IF()ISNULL() 函数的结合: IF(ISNULL(expr1), expr2, expr1)

  
  参数

expr1:必需的。判断此表达式是否为 NULL。
expr2:必需的。当 expr1 为 NULL 时,返回 expr2。

  返回值: 如果 expr1 为 NULL,IFNULL() 函数返回 expr1,否则返回 expr2。
  
  
  
  2)、相关演示
在这里插入图片描述

  
  
  
  
  

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

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

相关文章

java基础之Java8新特性-Optional

目录 1.简介 2.Optional类常用方法 3.示例代码 4.示例代码仓库地址 1.简介 Java 8引入了一个重要的新特性,即Optional类。Optional类是为了解决空指针异常而设计的。 在Java中,当我们尝试访问一个空对象的属性或调用其方法时,很容易抛出…

【服务器数据恢复】Hyper-V虚拟化数据恢复案例

服务器数据恢复环境: Windows Server操作系统服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在某品牌MD3200存储中,MD3200存储中有一组由4块硬盘组成的raid5阵列,存放虚拟机的数据文件;另外…

国内首款支持苹果Find My芯片-伦茨科技ST17H6x

深圳市伦茨科技有限公司(以下简称“伦茨科技”)发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家,该平台提供可通过Apple Find My认证的Apple查找(Find My)功能集成解决方案。…

建立四叉树[中等]

一、题目 给你一个n * n矩阵grid,矩阵由若干0和1组成。请你用四叉树表示该矩阵grid。你需要返回能表示矩阵grid的四叉树的根结点。四叉树数据结构中,每个内部节点只有四个子节点。此外,每个节点都有两个属性: 【1】val&#xff1…

WebRTC协议研究

背景 自己在做一个视频分析项目的时候,需要将后台读取的视频实时抛转到前台web页面显示,本来是用的是MQTT协议,已经可以满足需求。但是在实时上线测试的时候,发现当图片比较大的时候,会存在页面不能实时显示图片的bug&…

GLSL着色器入门(持续更新中...)

目录 第一章:OpenGL works with triangles 第二章: Parallel Processing 第章 推荐来自b站的课程004 GLSL is not Javascript_哔哩哔哩_bilibili 第一章:OpenGL works with triangles 当我们谈论GLSL着色器时,其实就是在说怎么…

C语言奇偶数交换排序问题

目录 问题描述如下: move函数的具体实现: main函数 运行效果 代码(注意看注释): 问题描述如下: 给定一个整数数组,要求将其中的奇数元素全部移动到前面,偶数元素全…

Go : ssh操作(四)批处理

简介 有的时候我们不只是进行单纯的上传, 下载, 指令, 而是多个动作的组合操作代码 batch.go package clientimport ("errors""github.com/pkg/sftp""golang.org/x/crypto/ssh" )type BatchCode intconst (…

【深度学习:Foundation Models】基础模型完整指南

【深度学习:Foundation Models】基础模型完整指南 什么是基础模型?基础模型背后的 5 项人工智能原理根据大量数据进行预训练自我监督学习过度拟合微调和快速工程(适应性强)广义的 基础模型的用例基础模型的类型计算机视觉基础模型…

最新版CleanMyMac X4.14.7智能清理mac磁盘垃圾工具

CleanMyMac X是一款专业的Mac清理软件,可智能清理mac磁盘垃圾和多余语言安装包,快速释放电脑内存,轻松管理和升级Mac上的应用。同时CleanMyMac X可以强力卸载恶意软件,修复系统漏洞,一键扫描和优化Mac系统,…

借助GPT理解 “ Android中 点击弹框外部 取消弹框”

在平常的开发工作中 或 阅读技术博客/书籍 时,难免会遇到我们不懂的知识点,网络上搜索的资料 需要有准确性,系统性,可实操性。 这样的资料查询很费时间且还不一定能找到,但是如果借助训练过的的gpt,就会省下…

[Kubernetes]7. K8s包管理工具Helm、使用Helm部署mongodb集群(主从数据库集群)

上一节讲解了[Kubernetes]6. k8s Pod配置管理ConfigMap & Secret以及传递环境变量的使用,k8s的命名空间以及使用kubens管理命名空间的使用,这里来介绍一下Helm的使用 一.Helm相关介绍 1.介绍 在 kubernetes 系统上部署容器化应用时需要事 先手动编写资源配置清单文件 以…

Prometheus实战篇:Prometheus监控docker

Prometheus实战篇:Prometheus监控docker 准备环境 监控docker 为了能够获取到Docker容器的运行状态,用户可以通过Docker的stats命令获取当前主机上运行容器的统计信息,可以查看容器的CPU利用率,内存使用量,网络IO总量以及磁盘IO总量等信息. docker stats除了使用命令以外,用户…

【占用网络】SurroundOcc:基于环视相机实现3D语义占用预测 ICCV 2023

前言 本文分享“占用网络”方案中,来自ICCV 2023的SurroundOcc,它基于环视相机实现3D语义占用预测。 使用空间交叉注意力将多相机图像信息提升到3D体素特征,即3D体素Query到2D图像中查询融合特征的思想。 然后使用3D卷积逐步对体素特征进行…

如何快速断行、分割行、切割行、换行、限制每行字数、平均分割每行字数、序号自动换行、关键字断行等等内容格式整理

首先,需要用到的这个工具: 百度 密码:qwu2蓝奏云 密码:2r1z 打开工具,切换到“文章工作域”(嗯...默认就是) 找到这个,多内容断行分割 点击打开,出现如下窗口设置 相关的…

Netty-Netty基础应用与了解

前言 Netty 的优势 1、 API 使用简单,开发门槛低; 2、功能强大,预置了多种编解码功能,支持多种主流协议; 3、定制能力强,可以通过 ChannelHandler 对通信框架进行灵活地扩展; 4、性能高…

【教程】通过Excel宏/Pandas两种方法来自动添加渐变数据条

这种数据真的很难看懂: 一般会对其画折线图或者数据条,相比起来就非常直观: 但是每一列都要手动这样设置就非常累了,所以这里就用到了VBA宏(或者Pandas)。 VBA宏方法 从这里进入宏: 随便写一个宏名后点创建&#xff1…

PyTorch项目源码学习(1)

PyTorch PyTorch是一个开源的深度学习框架,项目地址 https://github.com/pytorch/pytorch 在学术工作中的使用频率较高。 其主体由C开发,PyTorch是Torch的Python调用版本。学习PyTorch项目源代码的目的在于学习其中的实现方法与技巧,增加训练…

LangChain 69 向量数据库Pinecone入门

LangChain系列文章 LangChain 50 深入理解LangChain 表达式语言十三 自定义pipeline函数 LangChain Expression Language (LCEL)LangChain 51 深入理解LangChain 表达式语言十四 自动修复配置RunnableConfig LangChain Expression Language (LCEL)LangChain 52 深入理解LangCh…

毕业论文idea

三大模块 分级、分类、系统 多看医学图像处理毕业论文。 Swin Transformer的模型表现不如MobileViT 使用高像素的数据集在云服务器上训练时,如果您发现Swin Transformer的模型表现不如MobileViT,这可能由几个因素导致: 模型架构与数据匹配…