MySQL(五)函数(常用函数,聚合函数, count()...)

5-mysql函数

官网:MySQL :: MySQL 5.7 参考手册 :: 12.1 内置函数和运算符参考

5.1,常用函数

数学运算
-- 常用函数

-- 数学运算
select ABS(-8) -- 绝对值 8
select CEILING(9.5) -- 向上取整 10
select FLOOR(9.5)   -- 向下取整 9
select RAND() -- 返回0-1之间的随机数 0.36746780515412597
select SIGN(10) -- 负数返回-1 整数返回1   1
字符串函数
-- 字符串函数
select CHAR_LENGTH('哇哈哈哈航昂昂昂昂昂') -- 字符串长度 10
select CONCAT('你','真','帅') -- 拼接字符串 
select INSERT('我是赛亚人',1,2,'舒破') -- 替换  舒破赛亚人
select LOWER('ASssbasAA') -- 转小写字母 asssasaa
select UPPER('ASssasAA') -- 转大写字母 ASSSASAA 
select INSTR('ASssbasAA','b') -- 返回第一次出现字符串的索引 5
select REPLACE('鸡汤来咯','鸡汤','毒药') -- 替换指定字符串 毒药来咯
select SUBSTR('鸡汤来咯',3,2) -- 截取字符串(原字符串, 截取位置, 截取长度) 来咯
select REVERSE('鸡汤来咯') -- 反转字符 咯来汤鸡
时间与日期函数
-- 时间和日期
select CURRENT_DATE -- 获取当前日期
select CURDATE() -- 获取当前日期
select NOW() -- 获取当前日期 时分秒
select SYSDATE() -- 系统时间 时分秒
select LOCALTIME() -- 本地时间 时分秒
-- 年月日时分秒
select YEAR(NOW());
select MONTH(NOW());
select day(NOW());
select hour(NOW());
select minute(NOW());
select second(NOW());
系统函数
-- 系统
select SYSTEM_USER()
select USER() 获取当前用户
select VERSION() 

5.2,聚合函数(常用)

函数名称描述
count()记数
sum()求和
avg()平均数
max()最大值
min()最小值
-- 聚合函数
-- count() 统计表中记录数量
SELECT COUNT(studentname) FROM student; -- count(字段),忽略所有null值
SELECT COUNT(*) FROM student;-- count(*) ,不会忽略null值, 本质计算行数
SELECT COUNT(1) FROM student;-- count(1) ,不会忽略null值, 本质计算行数

SELECT SUM(studentresult) 总和 FROM result;
SELECT AVG(studentresult) 平均分 FROM result;
SELECT MAX(studentresult) 最高分 FROM result;
SELECT MIN(studentresult) 最低分 FROM result;
cout(1)和count(*)的区别
执行结果:

count(*)count(1)都不会去过滤null值,但count(列名)会去过滤null值。

执行效率:

如果表中存在主键,count(主键列名)效率最高

百度知道回答:

count(1),其实就是计算一共有多少符合条件的行。
1并不是表示第一个字段,而是表示一个固定值。
其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1.。
同理,count(2),也可以,得到的值完全一样,count(‘x’),count(‘y’)都是可以的。一样的理解方式。在你这个语句理都可以使用,返回的值完全是一样的。就是计数。
count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值