MySQL知识(七)——聚合函数、加密函数

来源:互联网 发布:美工设计的工作内容 编辑:程序博客网 时间:2024/05/18 03:07

5 聚合(集合)函数

函数 作用 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列值的和

5.1 COUNT()函数

  (1)COUNT(*),计算表中总的行数,不管某列有数值或者为空值。
  (2)COUNT(字段名),计算指定列下总的行数,忽略空值的行。

mysql> select * from stu;+----+-----------+-------+| id | name      | score |+----+-----------+-------+|  1 | jtzen9    |   100 ||  2 | heiheihei |    60 ||  3 | John      |    70 ||  4 | Nick      | NULL  ||  5 | Mike      |    90 |+----+-----------+-------+5 rows in setmysql> select count(*) as cust_num,count(score) as score_num from stu;+----------+-----------+| cust_num | score_num |+----------+-----------+|        5 |         4 |+----------+-----------+1 row in set

  (3)COUNT()与GROUP BY一起使用,计算不同分组中的记录总数:

5.2 SUM()函数

  (1)SUM(),求和函数,返回指定列值的总和,计算时忽略值为null的行:

mysql> select sum(score) as score_total from stu;+-------------+| score_total |+-------------+| 320         |+-------------+1 row in set

  (2)SUN()与GROUP BY一起使用,计算每个分组的总和:

5.3 AVG()函数

  (1)AVG(),求指定列数据的平均值,计算时忽略值为null的行:

mysql> select avg(score) as avg_score from stu;+-----------+| avg_score |+-----------+| 80.0000   |+-----------+1 row in set

  (2)AVG()和GROUP BY一起使用,计算每个分组的平均值:

5.4 MAX()函数

  (1)MAX(),返回指定列种最大值:

mysql> select max(score) as max_score from stu;+-----------+| max_score |+-----------+|       100 |+-----------+1 row in set

  (2)与GROUP BY一起使用,返回每个分组中的最大值:

5.5 MIN()函数

  (1)MIN(),返回指定列种最小值:

mysql> select min(score) as min_score from stu;+-----------+| min_score |+-----------+|        60 |+-----------+1 row in set

  (2)与GROUP BY一起使用,返回每个分组中的最小值:

6 加密函数

  加密函数主要用来对数据进行加密和界面处理,以保证某些重要数据不被别人获取。这些函数在保证数据库安全时非常有用。

6.1 加密函数PASSWORD(str)

  (1)PASSWORD(str),从原明文密码str计算并返回加密后的密码字符串,当参数为NULL时,返回NULL。

mysql> select password('newpwd');+-------------------------------------------+| password('newpwd')                        |+-------------------------------------------+| *1FA85AA204CC12B39B20E8F1E839D11B3F9E6AA4 |+-------------------------------------------+1 row in set

  (2)修改MySQL当前用户密码为jtzen9

mysql> set password=password('jtzen9');

6.2 加密函数MD5(str)

  MD5(str),为字符串算出一个MD5 128比特校验和。该值以32位十六进制数字的二进制字符串形式返回,若参数为NULL,则返回NULL。
  如果MySQL当中的信息是为了以后web页面做准备,那我们尽量使用MD5().

mysql> select MD5('newpwd');+----------------------------------+| MD5('newpwd')                    |+----------------------------------+| a5e3094ce553e08de5ba237525b106d5 |+----------------------------------+1 row in set

6.3 加密函数ENCODE(str,pswd_str)

  ENCODE(str,pswd_str),使用pswd_str作为加密,加密str。使用DECODE()解密结果,结果是一个和str长度相同的二进制字符串。

mysql> select encode('secret','cry'),length(encode('secret','cry'));+------------------------+--------------------------------+| encode('secret','cry') | length(encode('secret','cry')) |+------------------------+--------------------------------+| �h���                 |                              6 |+------------------------+--------------------------------+1 row in set

6.4 解密函数DECODE(crypt_str,pswd_str)

  DECODE(crypt_str,pswd_str),使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由ENCODE()返回的字符串。

mysql> select decode(encode('secret','cry'),'cry');+--------------------------------------+| decode(encode('secret','cry'),'cry') |+--------------------------------------+| secret                               |+--------------------------------------+1 row in set

7 其他函数

用到的时候,再记录笔记。

  (1)格式化函数FORMAT(x,n)
  (2)不同进制的数字进行转换
  (3)IP地址与数字互相转换
  (4)加锁函数和解锁函数
  (5)重复执行指定操作
  (6)改变字符集
  (7)改变数据类型函数

1 0
原创粉丝点击