mysql函数

本文介绍MySQL中常用的数学、字符串、日期时间及系统函数,并详细解释了聚合函数的应用场景,最后给出了MD5加密的基本用法。


运算符就不写出来了

常用函数

数学函数:

select abs()—绝对值
select ceiling()—向上取整
select floor()—向下取整
select rand()—返回一个0-1之间的随机数
select sign()—判断一个数的符号,0-0,负数返回-1,正数返回1

字符串函数:

select char_length()—字符串长度
select concat(‘A’,‘B’,…)—拼接字符串
select insert()—插入和替换(根据参数不同)
select lower()—大写转小写
select upper()—小写转大写
select instr(str,substr)—返回第一次出现的子串索引
select replace(str,substr,newsubstr)—替换字符串中出现的指定字符串
select substr(str,index,length)—返回指定索引开始的一定长度的字符串
select reverse()—反转字符串

时间和日期函数:

select current_date()—获取当前日期
select current_time()—获取当前时间
select now()—获取当前日期加时间
select localtime()—获取本地时间—sysdate()—系统时间
select year(now())—获取日期里面的年份—还有month,day,hour,minute,second

系统:

select system_user()—获取当前用户
select user()—上同
select version()—获取版本

聚合函数

函数名称描述
count()计数
sum()求和
avg()平均值
max()最大值
min()最小值

count(指定列)、count(*)、count(1)的区别:(都能计数)
count(指定列)会忽略该列的null值,其余两个不会
执行效率上:当列为主键时,count(列)比count(1)快
          当列不为主键时,count(1)更快

select subjectname,avg(studentresult),max(studentresult),min(studentresult) 
from `subject` as sub inner join result  r on sub.subjectno=r.subjectno
group by r.subjectno
having avg(studentresult)>80;

MD5加密

MD5加密是不可逆算法,破解网站一般都是通过一个字典进行对比
– 加密
update testmd5 set pwd=md5(pwd) where ‘name’=‘张三’;
– 一般插入时候就加密,校验的时候比较加密后的密码和数据库中的密码
insert into testmd5 values(4,‘赵六’,md5(123456));

### MYSQL 函数概述 在 MySQL 数据库管理系统中,函数是一类重要的工具,可以用来执行各种计算、转换和其他操作。这些函数分为内置函数和自定义函数两大类。以下是常见的 MySQL 内置函数分类及其具体用法。 --- #### **1. 字符串函数** 字符串函数主要用于处理字符型数据,支持拼接、截取、替换等功能。 - **`CONCAT(str1, str2, ...)`**: 将多个字符串连接成一个字符串。 ```sql SELECT CONCAT('Hello', ' ', 'World'); -- 返回 "Hello World" ``` - **`SUBSTRING(str, pos, len)`**: 提取子字符串,从 `pos` 开始提取长度为 `len` 的部分。 ```sql SELECT SUBSTRING('MySQL Function', 7, 8); -- 返回 "Function" ``` - **`REPLACE(str, from_str, to_str)`**: 替换字符串中的部分内容。 ```sql SELECT REPLACE('Database Management System', 'Management', 'Admin'); -- 返回 "Database Admin System" ``` - **`UPPER(str)` 和 `LOWER(str)`**: 转换字符串大小写。 ```sql SELECT UPPER('mysql'), LOWER('MYSQL'); -- 返回 "MYSQL", "mysql" ``` 以上内容来源于常见字符串函数介绍[^2]。 --- #### **2. 日期时间函数** 日期时间函数用于处理与时间和日期相关的数据。 - **`NOW()`**: 获取当前的日期和时间。 ```sql SELECT NOW(); -- 返回类似于 "2023-10-05 14:30:00" ``` - **`DATE(date_time_expr)`**: 提取日期部分。 ```sql SELECT DATE('2023-10-05 14:30:00'); -- 返回 "2023-10-05" ``` - **`DATE_FORMAT(date, format)`**: 根据指定格式化模板返回日期/时间字符串。 ```sql SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 自定义格式输出 ``` 相关内容可参见日期函数说明[^2]。 --- #### **3. 数学函数** 数学函数提供了基本的数值运算能力。 - **`ABS(num)`**: 计算绝对值。 ```sql SELECT ABS(-10); -- 返回 10 ``` - **`ROUND(num, decimals)`**: 对数字四舍五入到指定位数的小数。 ```sql SELECT ROUND(123.456, 2); -- 返回 123.46
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值