-- -- 函数的演示
-- -- concat 字符串拼接
-- select concat('Hello','MySQL');
-- -- lower 转小写
-- select lower('HELLO');
-- -- upper 转大写
-- select upper('hello');
-- -- lpad 左填充
-- select lpad('01',5,'-');
-- -- rpad 右填充
-- select rpad('01',5,'-');
-- -- trim 去除头部和尾部的空格
-- select trim(' Hello MySQL ');
-- -- substring(str,start,len)返回str从start起长度为len的字符串
-- select substring('Hello MySQL',1,5);
-- -- 数值函数
-- -- ceil 向上取整
-- select ceil(1.5);
-- -- floor 向下取整
-- select floor(1.1);
-- -- mod 取余
-- select mod(6,4);
-- -- rand 求随机数
-- select rand();
-- -- round 四舍五入
-- select round(3.1415926,3);
-- -- 生成一个六位数的随机验证码
-- select lpad(round(rand()*1000000,0),6,'0');
-- -- 日期函数
-- curdate() 返回当前日期
-- select curdate();
-- -- curtime() 返回当前时间
-- select curtime();
-- -- now() 返回当前日期和时间
-- select now();
-- -- year ,month, day
-- select year(now());
-- select month(now());
-- select day(now());
-- -- date_add 在当前时间的基础上往前或往后退某年某月某日
-- select date_add(now(),interval -70 month);
-- -- datediff 返回间隔多少时间,第一个-第二个
-- select datediff('2025-05-18','2002-06-13');
-- 流程控制函数
-- if(value,t,f) 如果value为true,返回t,否则返回f
-- select if(1>0,'Right','Error');
-- -- ifnull(value1,value2) 如果value1不为空,返回value1,否则返回value2
-- select ifnull(null,'ERROR');
CREATE DATABASE COMPUMENT;
use COMPUMENT;
-- CREATE TABLE emp(
-- id INT PRIMARY KEY COMMENT '编号',
-- workno VARCHAR(10) COMMENT '工号',
-- name VARCHAR(10) COMMENT '姓名',
-- gender CHAR(10) COMMENT '性别',
-- age tinyint unsigned COMMENT '年龄',
-- idcard CHAR(18) COMMENT '身份证号',
-- workaddress VARCHAR(50) COMMENT '工作地址',
-- entrydate DATE COMMENT '入职时间'
-- );
-- INSERT INTO emp (id,workno,name,gender,age,idcard,workaddress,entrydate)
-- VALUES (1,'1','柳岩','女',20,'123456789782738471','北京','2000-01-01'),
-- (2,'2','张无忌','男',45,'24234345362342312X','上海','2000-04-01'),
-- (3,'3','韦一名','男',40,'4673646736735','北京','2005-06-30'),
-- (4,'4','赵敏','女',25,'73365734323422','上海','2020-12-11'),
-- (5,'5','小昭','女',77,'34525666573673','上海','2023-03-21'),
-- (6,'6','逍遥','男',56,'4525633653345','北京','2012-04-04'),
-- (7,'7','范增','男',23,'3663673677367','北京','2013-06-05'),
-- (8,'8','黛绮丝','女',82,'87476836368463','上海','2012-08-21'),
-- (9,'9','范冰冰','女',13,'73735367337784566','上海','2003-02-12'),
-- (10,'10','陈友谅','男',53,'12312132145123414','上海','2005-09-03'),
-- (11,'11','张士诚','男',23,'3673767363X','北京','2006-10-06'),
-- (12,'12','常遇春','男',64,'7573667336573','北京','2007-11-12'),
-- (13,'13','张三丰','男',188,'3636567368','上海','2010-05-11'),
-- (14,'14','灭绝师太','女',77,'567783463686563','西安','2022-06-23'),
-- (15,'15','胡青牛','男',35,'3464683667837','上海','2021-07-26'),
-- (16,'16','周芷若','女',18,null,'江苏','2015-02-08');
-- -- -- -- 由于业务变更,企业员工的工号,统一为5位数,不足五位的前边补0,比如,1号员工工号应为00001。
-- -- -- update emp set workno = lpad(workno,5,'0');
-- -- -- 查询所有员工的入职天数,并根据入职天数倒序排序
-- -- select name,datediff(curdate(),entrydate) '入职天数' from emp
-- -- order by '入职天数' desc;
-- -- case when then else end
-- -- 查询emp表的员工姓名和工作地址(北京/上海---->一线城市,其他------>二线城市)
-- select name,(case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end) '工作地址' from emp;
-- -- select * from emp;
create table user(
id int primary key auto_increment comment '主键',
name varchar(10) not null unique comment '姓名',
age int check(age > 0 && age <=120) comment '年龄',
status char(1) default '1' comment '状态',
gender char(1) comment '性别'
) comment '用户表';