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

发布时间:2024年01月10日

总言

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

??
??
??
??

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)、相关演示
在这里插入图片描述

??
??
??
??
??

文章来源:https://blog.csdn.net/EPIPHANYECHO/article/details/135350106
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。