MySQL Day4.1

目录

5、Mysql函数

5.1、常用函数

5.2、聚合函数

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


5、Mysql函数

5.1、常用函数

-- ===================常用函数=================

-- 数学运算
select abs(-8) -- 绝对值
select ceiling(9.8) -- 向上取整
select floor(9.8)  -- 向下取整
select rand() -- 返回一个0~1之间的随机数
select sign()  -- 返回一个数的符号   0返回0,负数返回-1,正数返回1

-- 字符串函数
select char_length('那女孩对我说') -- 字符串长度
select concat('他','不懂','我的心') -- 拼接字符串
select insert('怎么大风越狠','3','2','大雨') -- 从某个位置开始替换某个长度
select lower('qweFGGHiiHJIyuio') -- 小写字母
select upper('wertyuJIO')  -- 大写字母
select instr('狼狈比失去难受' ,'难') -- 返回第一次出现的字串的索引
select replace('听见,冬天的离开','离开' , '到来')  -- 替换出现的指定字符串
select substr('坚持总会有结果','3','4')  -- 返回指定的字串(原字符串,截取的位置,截取的长度)
select reverse('天外来物一样')  -- 反转

-- 查询姓 孙 的同学,将名字改成 邹
select replace(`userName`,'孙','邹') from `smbms_user`
where `userName` like '孙%'

-- 时间和日期函数
select current_date()-- 获取当前日期
select curdate()  -- 获取当前日期
select now()  -- 获取当前时间
select localtime() -- 本地时间
select sysdate() -- 本地时间

-- 系统
select system_user() -- 系统使用者
select user()
select version()  -- mysql版本

5.2、聚合函数

函数名称 描述
COUNT() 计数
SUM() 求和
AVG() 求平均值
MAX() 求最大值
MIN() 求最小值
…… ……
-- ==============聚合函数===================
-- 都能够统计 表中的数据(想查询一个表中有多少个记录,就使用Count())
select count(`userName`) from `smbms_user`  -- Count(字段),会忽略所有的NULL值
select count(*) from `smbms_user`  -- Count(*)   , 不会忽略NULL值 ,计算行数
select count(1) from `smbms_role`  -- count(1)  , 不会忽略所有的null值,计算行数

select sum(`productCount`) as 总金额 from `smbms_bill`  
select avg(`productCount`) as 平均价 from `smbms_bill`
select max(`productCount`) as 最高价格 from `smbms_bill`
SELECT min(`productCount`) AS 最低价格 FROM `smbms_bill`

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

什么是MD5?

MD5主要增强了算法复杂度和不可逆性

MD5不可逆,具体的值的MD5是一样的

扫描二维码关注公众号,回复: 17015088 查看本文章

MD5破解网站的原理,背后有一个“字典”,MD5加密后的值,加密前的值

-- ================测试MD5 加密==============
CREATE TABLE `testmd5`(
	`id` INT(4) NOT NULL,
	`name` VARCHAR(20) NOT NULL,
	`pwd` VARCHAR(60) NOT NULL,
	PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET = utf8
-- 明文密码
INSERT INTO `testmd5` VALUE (1,'张三','123456'),(2,'李四','123456'),(3,'王五','123456')
-- 加密
UPDATE `testmd5` SET `pwd`=MD5(`pwd`) WHERE `id`=1
UPDATE `testmd5` SET `pwd`=MD5(`pwd`) -- 加密全部的密码

-- 插入的时候进行加密
INSERT INTO `testmd5` VALUE (4,'小明',MD5('123456'))
-- 如何校验:将用户传递进来的密码进行MD5加密,比较加密后的值
SELECT * FROM `testmd5` WHERE `name`='小明' AND `pwd`=MD5('123456')

猜你喜欢

转载自blog.csdn.net/m0_52991090/article/details/121190181