MySQL第六章(流程控制与加解密函数)

一.流程控制函数

流程控制函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中实现不同的条件选择,MySQL中的流程处理函数主要包括IF(), IFNULL()和CASE()函数

函数功能
IF(value,value1,value2)如果value的值为TRUE,返回value1,否则返回value2
IFNULL(value1,value2)如果value1的值不为NULL,返回value1,否则返回value2
SELECT last_name, salary, IF(salary>=6000, '高薪', '低薪')
FROM employees e 


SELECT last_name, commission_pct, IF(commission_pct IS NOT NULL, commission_pct, 0) AS '奖金'
FROM employees e 
#相同
SELECT last_name, commission_pct, IFNULL(commission_pct, 0) AS '奖金'
FROM employees e
函数功能
CASE WHEN 条件1 THEN 结果1…[ELSE resultn] END相当于编程语言的if…else if…else
CASE expr WHEN 常量值1 THEN 值1…[ELSE 值n] END相当于编程语言的switch…case
SELECT last_name, salary, CASE WHEN salary>=15000 THEN "白骨精"
                                WHEN salary>=10000 THEN "潜力股"
                                WHEN salary>=8000 THEN "小屌丝"
                                ELSE "草根" END AS "别名"
FROM employees e 


SELECT last_name , department_id, salary, CASE department_id WHEN 10 THEN salary*1.1
                                                     WHEN 20 THEN salary*1.2
                                                     WHEN 30 THEN salary*1.3
                                                     ELSE salary*1.4 END AS "薪资"
FROM employees e

二.加密与解密函数

函数功能
MD5(str)返回字符串md5加密后的值, 若参数为NULL,则会返回NULL
SHA(str)从原明文密码str计算并返回加密后的密码字符串,当参数为NULL时,返回NULL,SHA加密算法比MD5更加安全

不可逆: 明文可以转为暗文, 不可以暗文转为明文

三.MySQL信息函数

mysql中内置了一些可以查询mysql信息的函数, 这些函数主要用于帮助数据库开发人员或运维人员更好地对数据库进行维护工作

函数功能
VERSION()返回当前mysql的版本号
CONNECTION_ID()返回当前mysql服务器的连接数
DATEBASE() , SCHEMA()返回mysql命令行当前所在的数据库
USER()返回当前连接mysql的用户名,格式为"主机名@用户名"
CHARSET(value)返回字符串value自变量的字符集
COLLATION(value)返回字符串value的比较规则
SELECT VERSION(),CONNECTION_ID(),
USER(),CHARSET('ABC')
FROM DUAL 
/*
 VERSION()|CONNECTION_ID()|USER()        |CHARSET('ABC')|
---------+---------------+--------------+--------------+
8.0.30   |             37|root@localhost|utf8mb4       |
 */

四.其他单行函数

函数功能
FORMAT(value,n)n表示四舍五入后保留到小数点后n为
CONV(value,from,to)将value的值进行不同进制之间的转换
BENCHMARK(n,expr)将表达式expr执行n次,用于测试表达式的执行效率
CONVERT(value USING char_code)将value所使用的字符编码修改为char_code
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值