文章目录
- 案例表
- 日期函数
- 字符串函数
- 数学函数
- 其他函数
案例表
- 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语言中的三目运算符。