//两天之间间隔天数
select datediff('2022-10-1','2022-11-11');//查询用户注册天数,并降序排序
select name,dateddiff(curdate(),register_date)as'register_days' from user order by register_days desc;
4、流程函数
函数名
功能
if(value,a,b)
如果value为true 返回a,否则返回b
ifnull(value1,value2)
如果value1不为空,返回value1,否则返回value2
case when [val1] then [res1] … else [default] end
如果val1为true,返回res1,…否则返回default
case [expr] when [val1] then [res1] … else [default] end
如果expr的值等于val1,返回res1,…否则返回default
//if
select if(true,'success','failed');//查询user表,用户权限 0为管理员 1为普通用户 其它为游客
select username,(case authority when '0' then'管理员' when '1' then '普通用户'else'游客' end)as'用户权限' from user;
二、约束
约束是作用于表中字段上的规则,用于限制存储在表中的数据,以保证数据库的正确性、有效性和完整性。
约束分类
功能
关键字
非空约束
该字段不能为null
NOT NULL
唯一约束
限制该字段数据唯一,不能重复
UNIQUE
主键约束
声明为为主键,要求非空且唯一
PRIMARY KRY
默认约束
未指定该字段值,则采用默认值
DEFAULT
检查约束
保证字段满足设置条件
CHECK
外键约束
将两张表的数据之间建立连接,保证数据一致性和完整性
FOREIGN KEY
create table user(
id int primart key auto_increment comment 'ID',
username varchar(20) not null unique comment '用户名',
age int check(age>0&& age<=100) comment '年龄',
status char(1)default'1') comment '用户表';