【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.hqwc.cn/news/337286.html

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

相关文章

[C]jupyter中使用C

[C]jupyter中使用C 安装使用用处 安装 https://github.com/brendan-rius/jupyter-c-kernel 下拉找到3条命令,装就可以了 mac和linux可用 python3可用, 2不可以 第二条命令可以改为 : python3 install_c_kernel 小总结:如果有问题&#xff0…

Packet Tracer - Layer 2 Security

Packet Tracer - 第二层安全配置任务 目标 确保将中心交换机(3560型号)设置为根桥。保护生成树协议参数以防止对STP的操控攻击。启用端口安全功能以防止CAM表溢出攻击。 背景/场景 最近网络遭受了一系列攻击。因此,网络管理员已指派您负责…

JNPF低代码是什么,怎么样?

低代码开发平台已经是程序员日常标配效率工具了,曾经我们拿到开发需求后,要先配 Vue & React 等框架环境、再选需要引入的第三方组件库,最后穿针引线,调试搭建起需要的后台工具。这其中无数深坑等着我们去趟,直到低…

手把手教你制作一本旅游宣传册

​随着旅游业的蓬勃发展,越来越多的人选择在闲暇时间外出旅行。为了吸引更多的游客,制作一本精美的旅游宣传册至关重要。无论你是旅游爱好者还是旅游从业者,制作一本精美的旅游宣传册将有助于吸引更多的游客,提升你的业务。 一、确…

C#编程-描述异常

描述异常 异常是在程序执行期间出现的错误。异常情况发生在运算不能正常完成的时候。当程序中出现异常是,系统会抛出错误。错误通过异常处理过程被处理。 例如,System.IO.IOException异常在试图访问非法流对象时抛出。同样,如果分母是0,整数除法运算抛出System.DivideByZ…

重生奇迹MU中的一些仓库细节问题!

一般游戏新人如果不花一点时间的话,根本难以把握好游戏中的节奏,甚至有可能连仓库都不会使用,原本与仓库相关的细节问题就有许多,若是不仔细给予关注的话,难免就会忙中出错。 重生奇迹MU当中的仓库位置 剑士出生地是…

RabbitMQ(六)消息的持久化

目录 一、简介1.1 定义1.2 消息丢失的场景 二、交换机的持久化方式一:直接 new方式二:channel.exchangeDeclare()方式三:ExchangeBuilder【推荐】 三、队列的持久化方式一:直接 new方式二:channel.queueDeclare()方式三…

Linux Capabilities 基础概念与基本使用

目录 1. Linux capabilities 是什么? 2. capabilities 的赋予和继承 线程的 capabilities Permitted* 允许 Effective* 有效 Inheritable* 遗传 Bounding(集合) Ambient 文件的 capabilities Permitted Inheritable Effective 3…

一文了解Git(所有命令)附带图片

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 其他…

nginx(1.13.7)首次安装出现:【make: *** 没有规则可以创建“default”需要的目标“build” 问题】解决措施

目录 前言: 一.龙蜥(Anolis)操作系统上安装GCC 1.安装gcc 2.检验安装 二.安装出现 make: *** 没有规则可以创建“default”需要的目标“build” 问题 1.解压安装nginx 2.安装出现问题展示 3.解决措施 4.重新编译进行安装 5…

内网渗透之CobaltStrike(上)

目录 一、Cobalt Strike简介 二、Cobalt Strike基本用法 1、启动服务端 2、客户端连接 3、设置监听器(Listeners) 4、脚本管理器(Script Manager) 5、攻击(最常用的是生成后门) 6、CS上线 7、Beaco…

C#编程-实现在文本文件中的读和写

实现在文本文件中的读和写 Stream类用于从文本文件读取数据和向文本文件写入数据。它是一个抽象类,支持向流读写字节。如果文件的数据仅是文本,那么您可以使用StreamReader类和StreamWriter类来完成相应的读和写任务。 StreamReader类 StreamReader类继承自从抽象类TextRea…