首页 > 数据库 >MySQL函数

MySQL函数

时间:2023-03-06 11:22:16浏览次数:44  
标签:count 加密 函数 -- 获取 MySQL now select

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

相关文章