MySQL-5.函数

本文介绍了MySQL中各种功能的SQL函数,包括统计学(如聚合函数、数学成绩筛选)、字符串操作(如RIGHT,LEFT,FORMAT)、随机数生成(RAND)、时间日期处理、加密(MD5,PASSWORD)以及流程控制(IF,CASE)。
摘要由CSDN通过智能技术生成

5.1 统计函数(聚合函数)

# 统计数学成绩大于 90 的学生有多少个?
SELECT COUNT(*) FROM student WHERE math > 90;
 
# 求一个班级总分平均分
SELECT AVG(math + english + chinese) FROM student;
 
# 统计一个班级数学总成绩
SELECT SUM(math) FROM student
 
# 求出班级数学最高分和最低分
SELECT MAX(math) AS math_high_socre, MIN(math) AS math_low_socre FROM student;

5.2 字符串函数:注意索引从1开始

 即一列utf8

 RIGHT用法相同

 

也可以用LEFT(ename,1)替换SUBSTRING。

5.3 数学函数

FORMAT:四舍五入保留小数
RAND:rand()返回[0, 1]随机浮点数,每次返回不同值;rand(3)指定3为种子,可以得到重复的随机数。

5.4 时间日期函数

 

5.5 加密、系统函数

-- USER() 查询用户
-- 可以查看登录到 mysql 的有哪些用户,以及登录的 IP
SELECT USER() FROM DUAL; -- 用户@IP地址 root@localhost

-- DATABASE()查询当前使用数据库名称
SELECT DATABASE();

-- MD5(str) 为字符串算出一个 MD5 32位的字符串,常用(用户密码)加密
-- root 密码是 hsp -> 加密 md5 -> 在数据库中存放的是加密后的密码
SELECT MD5('hsp') FROM DUAL;
-- 演示用户表,存放密码时,是 md5
CREATE TABLE hsp_user(
    id INT , `name` VARCHAR(32) NOT NULL DEFAULT '', pwd CHAR(32) NOT NULL DEFAULT '');
INSERT INTO hsp_user VALUES(100, '韩顺平', MD5('hsp'));
SELECT * FROM hsp_user WHERE `name`='韩顺平' AND pwd = MD5('hsp')  # 只能加密后对比

-- PASSWORD(str) -- 加密函数, MySQL 数据库的用户密码就是 PASSWORD 函数加密
SELECT PASSWORD('hsp') FROM DUAL;
-- select * from mysql.user \G 从原文密码 str 计算并返回密码字符串
-- 通常用于对 mysql 数据库的用户密码加密
-- mysql.user 表示 数据库.表
SELECT * FROM mysql.user

5.6 流程控制函数

-- 1. 查询 emp 表, 如果 comm 是 null , 则显示 0.0
-- 判断是否为 null 要使用 is null, 判断不为空 使用 is not
SELECT ename, IF(comm IS NULL , 0.0, comm) FROM emp;
SELECT ename, IFNULL(comm, 0.0) FROM emp;

-- 2. 如果emp表的job是CLERK则显示职员,如果是MANAGER则显示经理,如果是SALESMAN则显示销售人员,其它正常显示
SELECT ename,
    (SELECT CASE 
                WHEN job = 'CLERK' THEN '职员' 
                WHEN job = 'MANAGER' THEN '经理' 
                WHEN job = 'SALESMAN' THEN '销售人员' ELSE job END) AS 'job' FROM emp;

 参考:韩顺平Mysql

  • 20
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值