MySQL函数

1、聚合函数

使用聚合函数时,可实现根据一组数据求出一个值。

注意:

聚合函数的结果值只根据选定数据中非null值进行计算,null值被忽略;

1.1、count()函数

Count()函数,1)对于除’*’以外的任何参数,返回所选择集合中非null值得行的数目;

2)对于参数’*’,则返回所选择集合中所有集合中的行的数目,包含null值得行。

例:

使用count()函数统计tb_student表中的记录总数;

 

select count(*) from tb_student;

 

1.2、sum()函数

Sum()函数可以求出表中某个字段取值的总和。

例:

使用sum()函数求出tb_score表中分数的总和;

 select sum(score) from tb_score;

 

1.3、avg()函数

Avg()函数可以求出表中某个字段取值的平均值;

例:

统计tb_score表中所有同学分数的平均值;

 select avg(score) from tb_score;

 

1.4、max()函数

Max()函数可以求出某个字段取值的最大值;

例:

求tb_score表中分数的最大值;

 select max(score) from tb_score;

 

1.5、min()函数

Min()函数可以求出表中某个字段取值的最小值;

例:

求tb_score表中分数的最小值;

 select min(score) from tb_score;

 

2、数学函数

数学函数主要用于处理数字,包括整型和浮点型等;

2.1、ABS()函数

Abs()函数可以求出某个字段取值的绝对值;

例:

求5和-5的绝对值;

 select abs(5),abs(-5);

 

2.2、floor函数

Floor()函数用于返回小于或等于参数x的最大整数;

例:

求小于或等于1.5级-3.5的最大整数;

 select floor(1.5),floor(-3.5);

 

2.3、rand()函数

Rand()函数用于返回0-1之间的随机数;

例:

使用函数获取两个随机数;

 select rand(),rand();

 

2.4、truncate(x,y)函数

Truncate()函数用于返回x保留到小数点后y位的值;

例:

保留数值1.234567到后2位;

 select truncate(1.234567,2);

 

2.5、sqrt(x)函数

Sqrt()函数用于求参数x的平方根;

例:

求数值16,256,2401的平方根;

 select sqrt(16),sqrt(256),sqrt(2401);

 

3、字符串函数

字符串函数主要用于处理表中的字符串;

3.1、upper(s)和ucase(s)函数

upper(s)和ucase(s)函数均可以用于将字符串s中的所有字母变成大写字母;

例:

把字符串’hello’,’English’中的所有字母变成大写字母;

 

select upper('hello'),upper('English');

select ucase('hello'),ucase('English');

 

3.2、left(s,n)函数

Left(s,n)用于返回字符串s的前n个字符;

例:

取出字符串’hello world’的前7个字符;

 select left('hello world',7);

 

例2:

取出字符串’helloworld’的前7个字符;

 select left('helloworld',7);

 

3.3、substring(s,n,len)函数

substring(s,n,len)函数用户从字符串s的第n个位置开始获取长度为len的字符串;

例:

获取字符串’hello’中从第2个字符开始的3个字符;

 select substring('hello',2,3);

 

例2:

获取字符串’hello’中从第2个字符开始的5个字符;

 select substring('hello',2,5);

 

4、日期和时间函数

日期和时间函数也是MySQL中最常用的函数之一,其主要用于对表中的日期和时间数据进行处理;

4.1、curdate()和current_date()函数;

curdate()和current_date()函数用于获取当前日期;

例:使用curdate()和current_date()函数分别获取当前日期;

 Select curdate(),current_date();

 

4.2、curtime()和current_time()函数

curtime()和current_time()函数可用于获取当前时间;

例:使用curtime()和current_time()函数分别获取当前时间;

 Select curtime(),current_time();

 

4.3、now()函数;

now()函数可以获取当前日期和时间;

例:使用now()函数获取当前日期和时间;

 Select now();

 

5、其他函数;

MySQL中除了上述的几类函数外,还包含很多函数,如:条件函数用于在SQL语句中进行条件判断、系统信息函数用于查询MySQL数据库的系统信息;

5.1、if(expr,v1,v2)函数

if(expr,v1,v2)函数是一种条件判断函数,其表示的是如果表达式expr成立,则执行v1,

或者执行v2;

例:

查询表tb_score,如果分数字段(score)的值大于85,则输出“优秀”,否则输出“一般”;

 Select studentno,courseno,score,if(score>85,’优秀’,’一般’)level from tb_score;

 

5.2、ifnull(v1,v2)函数;

ifnull(v1,v2)函数是一种条件判断函数,其表示的是如果表达式v1不为空,则显示v1的值,否则显示v2的值;

例:

使用ifnull()函数进行判断;

 Select ifnull(1/0,’空’);

 

5.3、version()函数;

version()函数是一种系统信息函数,用于获取数据库的版本号;

例:

使用version()函数获取当前数据库的版本号;

 Select version();

 

6、加密函数

6.1、encode函数

Encode(str,key)函数使用key作为密钥加密字符串str;

例1:

使用liu作为秘钥对’world’进行加密;

 select encode('world','liu');

 

6.2、decode(str,key)解密

decode(str,key)解密使用key作为密钥解密字符串str;

 

例2:

对上面例1解密;

 select decode(encode('world','liu'),'liu');

 

例3:

创建一个表user

Create table user(userid int,username varchar(10),pwd blob);

 

向表中插入一条数据:

insert into user values(1,'liu',encode('liu123','abc'));

 

对user表里的pwd进行解密:

 select decode(pwd,'abc') from user;

 

6.3、aes_encrypt(str,key)函数

aes_encrypt(str,key)函数使用key作为密钥加密字符串str;

 

例1:

使用liu作为秘钥对’world’进行加密;

select aes_encrypt('world','liu');

Aes_decrypt(str,key)函数解密

Aes_decrypt(str,key)函数用key作为密钥解密字符串str;

 

例2:

对上面例1解密;

 select aes_decrypt(aes_encrypt('world','liu'),'liu');

 insert into user values(2,'li',aes_encrypt('li123','abc'));

 select * from user;

 select aes_decrypt(pwd,'abc') from user;

 

6.4、password(str)加密

Password()函数用于对字符串str进行加密,对同一个字符串加密结果一致,区分大小写,加密过程不可逆;

 

例;

使用password()函数对字符串’world’加密;

 

select password('world');

 

6.5、MD5(str)函数加密

Md5()函数用于对字符串str进行加密,区分大小写,过程不可逆;

例:

使用MD5()函数对字符串’world’加密;

 select md5('world');

 

posted @ 2020-04-13 17:33  _Jack_test  阅读(272)  评论(0编辑  收藏  举报