1、常用函数
-- ================ 常用函数 ==============
-- 数学运算
select abs(-8) -- 绝对值
select ceiling(9.4) -- 向上取整
select floor(9.4) -- 向下取整
select rand() -- 返回一个 0~1之前的随机数
select sign() -- 判度一个数的符号 0 - 0 负数返回-1 正数返回 1
-- 字符串函数
select char_length('即使再小的帆也能远航') -- 字符串长度
select concat('我','爱','世界') -- 拼接字符串
select insert('我爱编程HelloWorld',1,2,'超级热爱') -- 插入,替换,实例是从1替换2个长度,结果‘超级热编程HelloWorld’,第一个字就是位置1
select lower('ABCDefG') -- 转小写
select upper('abgSFEsdaEE') -- 转大写
select instr('asdasfg','a') -- 返回第一次出现的子串的索引
select replace('我说坚持就能成功','坚持','努力') -- 替换出现的指定字符串
select substr('我说坚持就能成功',4,3) -- 返回指定的子字符串(源字符串,截取的位置,截取的长度)
select substring('我说坚持就能成功',2,6) -- 返回指定的子字符串
select reverse('清晨我上马') -- 反转字符串
-- 查询姓胡的同学,名字都换成 福
select replace(`studentname`,'胡','福') 姓名
from `student`
where `studentname` like ('胡%')
-- 时间和日期函数(记住)
select current_date() -- 获取当前日期
select curdate() -- 获取当前日期
select now() -- 获取当前的时间
select localtime() -- 获取本地时间
select sysdate() -- 获取系统时间
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() -- 获取mysql版本
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`) as 总和,
avg(`studentresult`) as 平均分,
max(`studentresult`) as 最高分,
min(`studentresult`) as 最低分
from `result`
3、数据库级别的MD5加密(扩展)
什么是MD5?
主要增强算法复杂度和不可逆性
MD5不可逆,具体的值的md5是一样的
MD5 破解网站的原理,背后有一个字典(MD5加密后的值,加密前的值)
-- ================测试MD5 加密===============
create table `testmd5`(
`id` int(4) not null,
`name` varchar(10) not null,
`pwd` varchar(50) not null,
primary key(`id`)
)engine=innodb default charset = utf8
-- 明文密码插入
insert into `testmd5`(`id`,`name`,`pwd`)
values (1001,'ycw','123456'),(1002,'ycq','123456'),
(1003,'dh','123456'),(1004,'dxh','123456');
-- 加密
update `testmd5` set `pwd`=md5(`pwd`) where `id`=1001
-- 插入时加密
insert into `testmd5` values(1005,'小明',md5('xiaoming'))
-- 如何校验:将用户传递进来的密码,进行md5加密,然后比对加密后的值
select * from `testmd5` where `name`='小明' and `pwd`=md5('xiaoming')
标签:count,加密,函数,--,获取,MySQL,now,select
From: https://www.cnblogs.com/studydreamlife/p/17183092.html