1.基于角色的权限管理,管理性更好
2.需求分析很重要
视图: # 不常用,要通过数据库修改
creat view v1 as select* from student where sid>10;
把某个查询语句(临时表)设置别名,方便后面使用
虚拟出来的,不能插入数据
creat view 名称 as 语句
alter view 名称 as 语句
drop view 名称
触发器:
当对某张表做增删改操作时,可以用触发器自定义关联行为
delimiter // # 修改结尾符
creat trigger 名称 before insert on student for each row
begin
insert into teacher(tname) values(NEW.name); # NEW新插入的数据,修改删除的时候有OLD
end
delimiter ; # 改回去
each row 插入几条执行几次
函数:(都有返回值)
select CURDATE(); # 执行
时间格式化:
id title ctime
1 asdf 2018-11-04 22:23:00
select DATE_FORMAT(ctime,"%Y-%m"),count(1) from blog group by DATE_FORMAT(ctime,"%Y-%m")
2018-11
自定义函数:
delimiter \\
create function f1(
i1 int,
i2 int)
returns int # 返回int类型值
BEGIN
declare num int; # 声明变量 declare num int default 0;
set num = i1 + i2;
return(num);
END \\
delimiter ;