文章目录
- 案例表
- 日期函数
- 字符串函数
- 数学函数
- 其他函数
案例表
- emp
  
- students 表
  
- exam_result 表
  
日期函数

 注意current_time和now的区别
 
- 案例一:
 创建一张表用来记录生日,表结构如下
  
 添加日期:
insert tmp (birthday) values ('2003-01-31');

- 案例二:
 创建一个留言表
 create table msg (id int primary key auto_increment,content varchar(30) not null,sendtime datetime);
查询在2小时内发布的贴子
select * from msg where date_add(sendtime,interval 120 minute)>= now();

字符串函数

 注意:length函数返回字符串的长度是以字节为单位的
 案例:
- 获取emp表的ename列的字符集
select charset(ename) from emp;

- 要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”
select concat(name, '的语文是',chinese,'分,数学是',math,'分') as '分数' from exam_result;

- 将emp表中的所有名字有带‘S’的替换为‘上海’
select replace(ename,'S','上海') from emp;

数学函数

 
值得注意的是,虽然rand的范围是一个0到1的左闭右开区间,但是我们可以通过乘以一个数来自定义随机数的范围,比如要生成一个[0-100)的随机整数:
 
其他函数
-  user() 
 用于查询当前用户
  
-  md5() 
 md5()是一种常见的哈希函数,接收一个字符串然后返回一个128位的哈希值,通常32位的十六进制表示。
 md5函数的常见用途是密码加密(简单加密)和数据完整性校验(现代的密码加密已经不再用md5了)。
  
-  password()函数 
 password函数专门用于MySQL用户密码加密,只不过生成的哈希值比md5的要更加安全。值得注意的是password函数在mysql8.0及之后就被弃用了(还是不安全),出于安全性和功能的考虑,MySQL 提倡使用其他安全的加密和哈希函数来处理密码。比如:SHA2函数等。
-  ifnull 
 ifnull(v1,v2),如果v1表达式不为null,这个函数就返回v1,否则就返回v2,有点类似c语言中的三目运算符。
 