This is my study note of MySql.
Learning vedio link : 黑马程序员

Basic Part 2

函数

Code illustrate
CONTACT , LOWER , UPPER 拼接、小写、大写
LPAD,RPAD,SUBSTRING 左填充、右填充、截取字符串
CEIL,FLOOR,MOD,RAND,ROUND 向上取整、向下取整、求模、产生0-1随机数、保留小数
CURDATE,CURTIME,NOW 当前日期、当前时间、当前日前+时间
YEAR,MONTH,DAY,DATE_ADD,DATEDIFF 年、月、日、日期相加、日期相减
IF、IFNULL、CASE[…] WHEN…THEN… ELSE…END 判断、判断是否为空、CASE选择

For example

1
2
3
4
5
6
7
8
UPDATE tab SET id = LPAD(id,5,"0");                   
// 为工号长度不为5的工号前填补0,例001->00001
SELECT LPAD(ROUND(RAND()*10000000,0), 7, "0") AS "随机数";
// 随机生成七位随机数
SELECT name, DIFFTIME(CURDATE(), entrydate) AS "difdate" FROM tab ORDER BY diftate dase;
// 根据入职天数倒叙排列
SELECT name, (CASE location WHEN '北京' THEN '一线城市'WHEN '上海' THEN '一线城市' ELSE '二线及以下' END) as new_location FROM tab;
// 根据location分配城市

约束

Code illustrate
非空约束 Not NULL
唯一约束 UNIQUE
主键约束 PRIMARY KEY
默认约束 DEFAULT
检查约束 CHECK
外键约束 FOREIGN KEY

For example

1
2
3
4
5
6
7
8
create table usr
(
age int check(age>=0 && age<=100),
name varchar(50) default '小明';
)

alter table usr add constraint fk_id foreign key (id) references tb1(work_id);
// 为usr添加外键tb1,通过id链接work_id