【5. MySQL函数】

5.1 常用函数

-- 数字运算
select abs(-8);  -- 绝对值
select Ceiling(9.4)  -- 向上取整
select floor(9.4)  -- 向下取整
select rand()   -- 返回一个0~1之间的随机数
select sign()   -- 判断一个数的符号(正:1   负:-1  0:0)

-- 字符串函数
select char_lenght('jsihuhikde')   -- 字符串长度
select concat('ss','kd','de')   -- 拼接字符串
Select  insert('helloworld',1,2,'替换') -- 替换字符串(从某个位置开始替换某个长度)
select upper('dhelmlek')   -- 转大写
select lower('SWHDIEOKL')  -- 转小写
select instr('Dddef','d')  -- 返回第一次出现字串的索引
select replace('坚持就能成功','坚持','努力')  -- 替换出现的指定字符串
select substr('坚持就能成功,坚持就能成功',4,6)  -- 返回指定的子字符串(源字符串,截取的位置,截取的长度(省略的话截取到最后一位))
select reverse('坚持就能成功')  -- 反转

-- 时间和日期函数 (记住)
select current_date()  -- 获取当前日期
select curdate()   -- 获取当前的时间
select now()   -- 获取当前的时间
select locatime()  -- 本地时间
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()   -- 获取当前版本

5.2 聚合函数(常用)

函数名称描述
count()计数
sum()求和
avg()平均值
max()最大值
min()最小值
-- 都能够统计  表中的数据  (查询一个表中的记录数)
select count(`bornDate`) from student;  -- count(字段),会忽略所有的null值
select count(*) from student;  -- count(*),不会忽略null值,  本质 计算行数
select count(1) from result;  -- count(1),不会忽略null值,本质  计算行数


-- 不同课程的平均分、最高分、最低分
-- 核心

5.3 数据库级别的MD5加密(扩展)

什么是MD5?
主要增强算法复杂度和不可逆性.
MD5不可逆,具体的值的md5是一样的。
MD5破解网站的原理,背后有一个字典,MD5加密后的值,加密前的值

--  测试md5加密

create table `testmd5`(
	`id` int(4) not null,
    `name` varchar(20) not null,
    `pwd` varchar(50) not null,
    primary key(`id`)
)engine=innodb default charset=uft8

-- 明文密码
insert into testmd5 values(1,'zhangsan','123456'),(2,'zhangsan','123456'),(3,'zhangsan','123456');

-- 加密
update testmd5 set pwd = md5(pwd)  -- 加密全部的密码

-- 插入的时候加密
insert into testmd5 values(4,'xiaoming',md5('123456'))

-- 如何校验:将用户传递进来的密码,进行md5加密,然后比对加密后的值
select * from testmd5 where name='xiaoming' and pwd=MD5('123456');

【参考b站 狂神说java 视频所作笔记】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值