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 ;